码迷,mamicode.com
首页 > 编程语言 > 详细

Java读取自定义环境变量的方法System.getProperty和System.getenv

时间:2020-03-29 10:29:36      阅读:33      评论:0      收藏:0      [点我收藏+]

标签:print   ref   while   sys   property   tps   环境变量   一个   more   

引自:https://blog.csdn.net/zhen8023wan/article/details/38460389

问题的由来,想在测试机环境下搞测试,然后不想修改搞到线上环境的时候,自动把本地测试的代码去掉,第一反应的是使用ip判断,但是某些时候也许没有request参数,那么我们变通一下,只需要在测试环境上搞一个自定义的环境变量,然后用来作为判断条件即可。
假设设置了环境变量MYNAME, 值为”this is my name”, 运行如下代码:

System.out.println("using getenv: "+ System.getenv("MYNAME"));
System.out.println("using getProperty: "+ System.getProperty("MYNAME"));

结果分别为:
using getenv: this is my name
using getProperty: null

另试了如下代码:

java.util.Properties p = System.getProperties();
java.util.Enumeration keys = p.keys();
while( keys.hasMoreElements() )
{
     System.out.println( keys.nextElement());
 }

结果根本没有MYNAME 这个变量!
那么怎么解决呢,需要明白这一点 System.getProperty(“MYNAME”) 只有当你运行 java -DMYNAME=JACK MyClass,这样好办了,我们只需修改服务容器比如resin的启动脚本 加上一个 -D自定义参数 即可。

Java读取自定义环境变量的方法System.getProperty和System.getenv

标签:print   ref   while   sys   property   tps   环境变量   一个   more   

原文地址:https://www.cnblogs.com/linwenbin/p/12590992.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!