原创文章,欢迎转载,转载请注明出处!

很多时候我们需要在项目中读取外部属性文件,用到了System.getProperty("")方法。这个方法需要配置JVM系统属性,那么如何配置呢?

那就是使用java -D 配置系统属性。
使用格式是:java -Dkey=value

比如新建一个测试类,如下:

public class Test {
public static void main(String[] args){
System.out.println(System.getProperty("configurePath"));
}
}

这段代码直接执行的话,会输出null

接下来需要配置configurePath属性了,有两种方法。
第一种方法是在启动tomcat的时候配置:
比如在myeclipse中,选中这个项目,然后在工具栏中选择"Run-->Run Confgurations“,然后在对话框的右边选择"Arguments,然后在VM arguments中输入-DconfigurePath=hello。如下图:

然后就会在控制台输出:hello

第二种方法是在执行java命令的时候配置:
将之前的测试类导出为一个jar包,再控制台使用命令执行:java -DconfigurePath=hello -jar Test.jar
也会得到hello


以下转载自网络:

java -D 配置系统属性
使用案例
其实,在不知不觉中我们已经在使用-D的参数项,比如用下面参数来配置文件编码:
-Dfile.encoding=UTF-8

再比如,用以下参数来配置dubbo的选项:
java -Ddubbo.reference.com.foo.BarService.check=false
java -Ddubbo.reference.check=false
java -Ddubbo.consumer.check=false
java -Ddubbo.registry.check=false

功能解析
-D=value
官网解释:
    Set a system property value. If value is
    a string that contains spaces, you must enclose the string in double quotes:
在虚拟机的系统属性中设置属性名/值对,运行在此虚拟机上的应用程序可用:
System.getProperty("属性名")

得到value的值。
如果value中有空格,则需要用双引号将该值括起来,如:-Dname=”kazaf f”。
该参数通常用于设置系统级全局变量值,如配置文件路径,保证该属性在程序中任何地方都可访问。

注意事项
(1)需要设置的是JVM参数而不是program参数;
(2)使用此参数的参数优先级最高,会覆盖项目中配置的此项;

使用System.getProperty方法,如何配置JVM系统属性的更多相关文章

  1. 【java编程】使用System.getProperty方法,如何配置JVM系统属性

    转载:https://www.cnblogs.com/acm-bingzi/p/6673823.html很多时候我们需要在项目中读取外部属性文件,用到了System.getProperty(" ...

  2. 使用System.getProperty方法,如何配置JVM系统属性 (转载)

    很多时候需要在项目中读取外部属性文件,用到了System.getProperty("")方法.这个方法需要配置JVM系统属性,那么如何配置呢? 那就是使用java -D 配置系统属 ...

  3. 如何配置JVM系统属性及获取方式System.getProperty("pname")

    https://www.cnblogs.com/keyi/p/7721893.html

  4. 获取当前应用的系统路径工具类和java的System.getProperty()方法介绍

    java的System.getProperty()方法可以获取的值,如下: 对于Java程序,无论是未打包的还是打包的JAR或WAR文件,有时候都需要获取它运行所在目录信息,如何做到这一点呢? /** ...

  5. Java System.getProperty()方法获取系统信息

    用 System.getProperty()方法能获取到的系统信息: java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.u ...

  6. Java基础 之 System.getProperty()方法

    Java基础 之 System.getProperty()方法大全 public static void main(String[] args) { System.out.println(" ...

  7. JVM系统属性 OS环境变量 JVM启动参数

    JVM系统属性(System Properties) 1.不支持通过文件查看和设置系统属性 2.可以通过JDK自带的工具jvisulavm.exe查看 3.可以在Java程序中使用API来查看系统属性 ...

  8. System.getProperty()方法获取系统变量

    来自我的CSDN博客   今天在阅读JDBC的DriverManager类源码时,看到了这么一句代码: System.getProperty("jdbc.drivers"):    ...

  9. Java System.getProperty("java.io.tmpdir") 获取系统临时目录

    System.getProperty("java.io.tmpdir") 是获取操作系统的缓存临时目录 在windows7中的目录是: C:\Users\登录用户~1\AppDat ...

随机推荐

  1. Java IO详解(七)------随机访问文件流

    File 类的介绍:http://www.cnblogs.com/ysocean/p/6851878.html Java IO 流的分类介绍:http://www.cnblogs.com/ysocea ...

  2. 反向路径过滤——reverse path filter

    原文地址:反向路径过滤——reverse path filter 作者:pwp_cu 反向路径过滤——reverse path filter 一.原理先介绍个非对称路由的概念参考<Underst ...

  3. iOS Swift WisdomScanKit图片浏览器功能SDK

    iOS Swift WisdomScanKit图片浏览器功能SDK使用 一:简介      WisdomScanKit 由 Swift4.2版编写,完全兼容OC项目调用. WisdomScanKit的 ...

  4. 一个有趣的异步时序逻辑电路设计实例 ——MFM调制模块设计笔记

    本文从本人的163博客搬迁至此. MFM是改进型频率调制的缩写,其本质是一种非归零码,是用于磁介质硬盘存储的一种调制方式.调制规则有两句话,即两个翻转条件: 1.为1的码元在每个码元的正中进行一次翻转 ...

  5. 大数据入门第二十二天——spark(二)RDD算子(1)

    一.RDD概述 1.什么是RDD RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算的 ...

  6. sql——sql中的各种连接

    现有两张表 tablea 和 tableb     各种连接 1.笛尔卡积 SELECT * FROM TabA a,TabB b where a.id = b.id /*笛尔卡积乘积*/ 返回的结果 ...

  7. task1

    centos定时任务 清空特定目录文件 https://www.jb51.net/article/151066.htm 这次linux下不生成日志文件主要是因为日志框架冲突问题,我解决问题的思路错了 ...

  8. PHP调用WCF提供的方法

    一.准备工作 1.安装wampserver:过程略 2.配置wampserver: 2.1打开php.ini文件,去掉 ;extension=php_soap.dll 这里那个分号. 也有说把这个 ; ...

  9. PowerBI开发 第十一篇:报表设计技巧(更新)

    PowerBI版本在持续的更新,这使得报表设计能够实现更多新的功能,您可以访问 PowerBI Blog查看PowerBI的最新更新信息,本文总结了PowerBI新版本的重要更新和设计技巧. 我的Po ...

  10. Redux系列01:从一个简单例子了解action、store、reducer

    其实,redux的核心概念就是store.action.reducer,从调用关系来看如下所示 store.dispatch(action) --> reducer(state, action) ...