【发布时间】:2011-06-03 14:59:27
【问题描述】:
我有一个属性 TOOLS_DIR,我在 bash 中导出
我的 java 文件中有以下行:
String toolsDir = System.getProperty("TOOLS_DIR");
为什么返回 null?是与 linux 的兼容性问题还是什么?
【问题讨论】:
标签: java properties system
我有一个属性 TOOLS_DIR,我在 bash 中导出
我的 java 文件中有以下行:
String toolsDir = System.getProperty("TOOLS_DIR");
为什么返回 null?是与 linux 的兼容性问题还是什么?
【问题讨论】:
标签: java properties system
环境变量和属性不是一回事。如果您想将环境变量作为属性传递,您必须将以下内容添加到您的 java 调用中:
-DTOOLS_DIR=$TOOLS_DIR
或者,您可以使用System.getEnv()
【讨论】:
试试这个:
String toolsDir = System.getenv("TOOLS_DIR");
getProperty(...) 方法返回 java vm 属性(如 user.dir、java.version)。 getenv(...) 方法用于环境变量。
【讨论】:
Java 系统属性与 shell 环境变量无关。
你可以在调用虚拟机时分配一个java系统属性,例如:
java -DTOOLS_DIR=/somewhere org.example.MyClass
【讨论】: