我想获得一个操作系统(windows XP)环境变量,我的代码如下(jdk 1.6):
public class TestEnv{
public static void main(String...args){
System.out.println(System.getenv("catalina_home"));
}
}
catalina_home
首先,我的PC中没有调用变量,它输出null
,然后我在其中添加一个catalina_home
变量My Computer > Advanced > Environment Variables
,它仍然输出null
,如果我关闭并重新启动eclipse,它会输出正确的值。如果我像这样在 cmd 控制台中运行此代码,我应该关闭并重新启动一个新的 cmd 控制台以获得正确的值,如果我删除一个现有变量,首先它输出一个非空值,直到我重新启动 eclipse 或 cmd 控制台,它可以输出null
。所以我认为eclipse或cmd控制台已经缓存了OS env变量,但没有证据,即使他们真的这样做了,我想知道为什么?任何想法将不胜感激。非常感谢。