使用System.getProperty方法,如何配置JVM系统属性 (转载)
很多时候需要在项目中读取外部属性文件,用到了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属性了,有两种方法:
第一种方法:在启动应用程序的时候配置
比如在eclipse中,选中这个项目,然后在工具栏中选择"Run-->Run Confgurations“,然后在对话框的右边选择"Arguments“,然后在VM arguments中输入-DconfigurePath=hello。如下图:

然后就会在控制台输出:hello
补充说明:
上图中program arguments中输入的参数是应用程序String[] args数组值。
第二种方法:在执行java命令的时候配置
将之前的测试类导出为一个jar包,再控制台使用命令执行:java -DconfigurePath=hello -jar Test.jar,也会得到hello。

其他java -D 配置系统属性说明
(1)使用案例
在使用-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
(2)功能解析
-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)使用此参数的参数优先级最高,会覆盖项目中配置的此项;
https://www.cnblogs.com/acm-bingzi/p/6673823.html
使用System.getProperty方法,如何配置JVM系统属性 (转载)的更多相关文章
- 【java编程】使用System.getProperty方法,如何配置JVM系统属性
转载:https://www.cnblogs.com/acm-bingzi/p/6673823.html很多时候我们需要在项目中读取外部属性文件,用到了System.getProperty(" ...
- 使用System.getProperty方法,如何配置JVM系统属性
原创文章,欢迎转载,转载请注明出处! 很多时候我们需要在项目中读取外部属性文件,用到了System.getProperty("")方法.这个方法需要配置JVM系统属性,那么如何配置 ...
- 如何配置JVM系统属性及获取方式System.getProperty("pname")
https://www.cnblogs.com/keyi/p/7721893.html
- 获取当前应用的系统路径工具类和java的System.getProperty()方法介绍
java的System.getProperty()方法可以获取的值,如下: 对于Java程序,无论是未打包的还是打包的JAR或WAR文件,有时候都需要获取它运行所在目录信息,如何做到这一点呢? /** ...
- Java System.getProperty()方法获取系统信息
用 System.getProperty()方法能获取到的系统信息: java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.u ...
- Java基础 之 System.getProperty()方法
Java基础 之 System.getProperty()方法大全 public static void main(String[] args) { System.out.println(" ...
- JVM系统属性 OS环境变量 JVM启动参数
JVM系统属性(System Properties) 1.不支持通过文件查看和设置系统属性 2.可以通过JDK自带的工具jvisulavm.exe查看 3.可以在Java程序中使用API来查看系统属性 ...
- System.getProperty()方法获取系统变量
来自我的CSDN博客 今天在阅读JDBC的DriverManager类源码时,看到了这么一句代码: System.getProperty("jdbc.drivers"): ...
- Java System.getProperty("java.io.tmpdir") 获取系统临时目录
System.getProperty("java.io.tmpdir") 是获取操作系统的缓存临时目录 在windows7中的目录是: C:\Users\登录用户~1\AppDat ...
随机推荐
- Arduino可穿戴教程之第一个程序——Blink(一)
Arduino可穿戴教程之第一个程序——Blink(一) 至此我们的硬件和软件部分都准备好了,是时候测试一下他们是否可以和谐地合作了.当然,第一个程序我们并不需要自己来写,因为我们还没有了解过Ardu ...
- MySQL笔记(二)之数据检索常用关键字
SELECT 用于数据的选择 语法: SELECT 列 FROM 表; #从表中选择某些列,也可以是*,代表全部列 DISTINCT 当某些列包含重复值的时候,DISTINCT用于过滤掉重复值,使重复 ...
- BZOJ1226 SDOI2009学校食堂
这题状压DP太神了. g[i][j][k]表示前i-1个人都已打到饭,自己和后七个人打饭的情况是j,当前最后一个打饭的与i的关系是k 如果j&1==1说明当前这个人也打了饭,那么可以转移到g[ ...
- WEB架构师成长之路 二
法宝一:牛人爱惜自己的时间. 时间就是金钱,时间就是生命,时间如同健康一样,如果时间都没有,那成功也就是浮云了.所以牛人总是很爱惜自己的时间,总是在想办法提高自己的做事效率.我突然想了起来,我QQ里有 ...
- WEB架构师成长之路 一
一 .你必须学习面向对象的基础知识 1.降低软件开发的复杂度 2.提高软件开发的效率 3.提高软件质量:可维护性,可扩展性,可重用性等. 提高软件质量:可维护性,可扩展性,可重用性等,再具体点,就是高 ...
- hdu 4284 状态压缩dp
题意: 有N 个点的无向图,要去其中 h个地点做事,做事需要先办理护照,之后可以挣一定数量的钱,知道了一开始有的总钱数,和 一些城市之间 道路的花费,问可不可以在 指定的 h 个城 ...
- 27.prim算法 最优布线问题(wire.cpp)
[例4-10].最优布线问题(wire.cpp) [问题描述] 学校有n台计算机,为了方便数据传输,现要将它们用数据线连接起来.两台计算机被连接是指它们间有数据线连接.由于计算机所处的位置不同,因此不 ...
- USACO 2017 FEB Gold visitfj 最短路
题意 有一幅n*n的方格图,n <= 100,每个点上有一个值.从(1,1)出发,走到(n,n),只能走四联通.每走一步花费t,每走三步需要花费走完三步后到达格子的值.求最小花费的值. 拆点,d ...
- HDU 5653 Bomber Man wants to bomb an Array. dp
Bomber Man wants to bomb an Array. 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5653 Description ...
- 软件包管理 rpm yum apt-get dpkg
http://blog.csdn.net/ljq1203/article/details/7401616