如何配置JVM系统属性及获取方式System.getProperty("pname")
2017-10-24 09:21
579 查看
很多时候我们需要在项目中读取外部属性文件,用到了System.getProperty("")方法。这个方法需要配置JVM系统属性,那么如何配置呢?
那就是使用java -D 配置系统属性。
使用格式是:java -Dkey=value
比如新建一个测试类,如下:
这段代码直接执行的话,会输出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)使用此参数的参数优先级最高,会覆盖项目中配置的此项;
那就是使用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系统属性
- 使用System.getProperty方法,如何配置JVM系统属性
- 使用System.getProperty方法,如何配置JVM系统属性 (转载)
- 使用System.getProperty方法,如何配置JVM系统属性
- 使用System.getProperty方法获取JVM系统属性
- JVM系统属性使用System.getProperty方法获取
- System.getProperty("user.dir"); 获得系统属性
- System.getProperty("");查看系统属性
- System.getProperty()获取系统的相关属性
- Java项目读取配置文件时,FileNotFoundException 系统找不到指定的文件,System.getProperty("user.dir")的理解
- System.getProperty()方法获取系统属性详解
- System中的一些属性(Properties属性)如何获取系统属性和指定系统属性
- System.getProperty()获取系统的配置信息
- System.getProperty(String name)获取系统属性
- System.getProperty("user.dir"); 获得系统属性
- Java中系统属性Properties介绍 System.getProperty()参数大全-tomcat设置参数,java获取
- 获取系统属性System.getProperty
- System.getProperty("user.dir"); 获得系统属性
- java系统属性 (System.getProperty("xxxx"))