首页 > 其他 > 详细

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

时间:2018-07-31 22:34:36      阅读:203      评论:0      收藏:0      [点我收藏+]

  很多时候需要在项目中读取外部属性文件,用到了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系统属性 (转载)

原文:https://www.cnblogs.com/lojun/p/9398515.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!