必威体育Betway必威体育官网
当前位置:首页 > IT技术

System.getProperty()

时间:2019-10-17 13:15:40来源:IT技术作者:seo实验室小编阅读:76次「手机版」
 

system.getproperty

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

那就是使用java -D 配置系统属性。

使用格式是:java -Dkey=value

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

public class MyTest {

    @Test
    public void test(){
        System.out.println(System.getProperty("TestTest"));
    }
}

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

接下来需要配置configurePath属性了,有两种方法。

第一种方法是在启动tomcat的时候配置:

比如在myEclipse中,选中这个项目,然后在工具栏中选择"Run-->Run Confgurations“,然后在对话框的右边选择"arguments,然后在VM arguments中输入-DconfigurePath=hello。如下图:

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

第二种方法是在执行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)使用此参数的参数优先级最高,会覆盖项目中配置的此项;

系统属性:

序号 属性 说明
1 java.version Java 运行时环境版本
2 java.vendor Java 运行时环境供应商
3 java.vendor.url Java 供应商的 URL
4 java.home Java 安装目录
5 java.vm.specification.version Java 虚拟机规范版本
6 java.vm.specification.vendor Java 虚拟机规范供应商
7 java.vm.specification.name Java 虚拟机规范名称
8 java.vm.version Java 虚拟机实现版本
9 java.vm.vendor Java 虚拟机实现供应商
10 java.vm.name Java 虚拟机实现名称
11 java.specification.version Java 运行时环境规范版本
12 java.specification.vendor Java 运行时环境规范供应商
13 java.specification.name Java 运行时环境规范名称
14 java.class.version Java 类格式版本号
15 java.class.path Java 类路径
16 java.library.path 加载库时搜索的路径列表
17 java.io.tmpdir 默认的临时文件路径
18 java.compiler 要使用的 JIT 编译器的名称
19 java.ext.dirs 一个或多个扩展目录的路径
20 os.name 操作系统的名称
21 os.arch 操作系统的架构
22 os.version 操作系统的版本
23 file.separator 文件分隔符(在 UNIX 系统中是“/”)
24 path.separator 路径分隔符(在 UNIX 系统中是“:”)
25 line.separator 行分隔符(在 UNIX 系统中是“/n”)
26 user.name 用户的账户名称
27 user.home 用户的主目录
28 user.dir 用户的当前工作目录

原文地址:

https://www.cnblogs.com/acm-bingzi/p/6673823.html

https://www.cnblogs.com/qypx520/p/5893087.html

侵删。

相关阅读

26-在保存hosts文件时,报错unable to save C:\windows

1.右键hosts文件,选择属性,如下图所示 2.点击【安全】 -【编辑】 3.选中当前用户,将允许位置全部勾上,【应用】-【是】-【确定

一例System.Data.SqlClient.SqlException: 对象名 'd

在Dbcontext的继承类中发现这个定义:public virtual DbSet<user> users { get; set; }这个说明了context的users,注意这里后缀有一

System.currentTimeMillis()的慎用

转自:http://blog.sina.com.cn/s/blog_6b8bd9d80101fe8t.html 在对新写的超快xml解析器和xpath引擎进行效率测试时,为获取执行时间

System.currentTimeMillis()

System.currentTimeMillis()计算方式与时间的单位转换 一、时间的单位转换 1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s)1秒=1,000,000

Java中System.setProperty()用法

转自:http://www.cnblogs.com/chasewade/p/3387390.html Java中System.setProperty()用法 /** 设置指定键对值的系统属性* setPro

分享到:

栏目导航

推荐阅读

热门阅读