【java编程】使用System.getProperty方法,如何配置JVM系统属性
转载:https://www.cnblogs.com/acm-bingzi/p/6673823.html
很多时候我们需要在项目中读取外部属性文件,用到了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)使用此参数的参数优先级最高,会覆盖项目中配置的此项;
【java编程】使用System.getProperty方法,如何配置JVM系统属性的更多相关文章
- 使用System.getProperty方法,如何配置JVM系统属性
原创文章,欢迎转载,转载请注明出处! 很多时候我们需要在项目中读取外部属性文件,用到了System.getProperty("")方法.这个方法需要配置JVM系统属性,那么如何配置 ...
- 使用System.getProperty方法,如何配置JVM系统属性 (转载)
很多时候需要在项目中读取外部属性文件,用到了System.getProperty("")方法.这个方法需要配置JVM系统属性,那么如何配置呢? 那就是使用java -D 配置系统属 ...
- Java基础 之 System.getProperty()方法
Java基础 之 System.getProperty()方法大全 public static void main(String[] args) { System.out.println(" ...
- 如何配置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编程:三种方法实现斐波那契数列
题目要求:编写程序在控制台输出斐波那契数列前20项,每输出5个数换行 斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 这个数列 ...
- System.getProperty()方法大全
System.out.println("当前程序所在目录:" + System.getProperty("user.dir")); // 当前程序所在目录 Sy ...
- System.getProperty()方法获取大全
System.out.println("java版本号:" + System.getProperty("java.version")); // java版本号 ...
随机推荐
- 【转载】sprintf()函数 和 printf()函数
sprintf()函数 和 printf()函数 参考:C++ 中的sprintf和snprintf 函数的区别 - CSDN博客 http://blog.csdn.net/youbingchen/ ...
- Python Django 之 Template 模板的使用
一.模板样式 注意: 1.url urlpatterns = { path('admin/', admin.site.urls), path('order/', views.order), path( ...
- day36 数据库表操作 数据类型 完整性约束
今日内容 1.存储引擎表类型 2.数据类型 3.完整性约束 1.存储引擎表类型 指令: 1.show engines:#查看MySQL所有的引擎, 2.show variables like &quo ...
- 【转】C语言中字符串输入的三种方法
在网上看到,讲的还算详细,转过来学习一下...... ======================================================================= 使 ...
- information_schema
views 视图表,查看当前数据库有哪些视图 select table_catalog,table_schema,table_name,is_updatable,definer,security_ty ...
- 十三. Python基础(13)--生成器进阶
十三. Python基础(13)--生成器进阶 1 ● send()方法 generator.send(value) Resumes the execution, and "sends&qu ...
- jQuery $.each()常见的几种使用方法
<code class="language-html"><!doctype html> <html> <head> <meta ...
- Java与C++简单对比
Java语言让编程者无法找到指针来直接访问内存,并且增添了自动的内存管理功能,从而有效的组织了C/C++语言中指针操作失误,如滥用指针所造成的系统崩溃,Java的指针在虚拟机内部使用,这保证了Java ...
- C语言获取系统时间的几种方式
C语言获取系统时间的几种方式 2009-07-22 11:18:50| 分类: 编程学习 |字号 订阅 C语言中如何获取时间?精度如何? 1 使用time_t time( time_t * ...
- format格式
The format part is where you can specify more precisely the format of the data that you expect. For ...