System.getProperty 为定义的属性返回 null
2022-09-03 17:26:16
我有一个在 bash 中导出的属性TOOLS_DIR
我的java文件中有以下行:
String toolsDir = System.getProperty("TOOLS_DIR");
为什么返回 null?是与linux的兼容性问题还是其他什么?
我有一个在 bash 中导出的属性TOOLS_DIR
我的java文件中有以下行:
String toolsDir = System.getProperty("TOOLS_DIR");
为什么返回 null?是与linux的兼容性问题还是其他什么?
环境变量和属性不是一回事。如果要将环境变量作为属性传入,则必须将以下内容添加到 java 调用中:
-DTOOLS_DIR=$TOOLS_DIR
或者,您可以使用System.getEnv()
Java 系统属性与 shell 环境变量无关。
您可以在调用虚拟机时分配 Java 系统属性,例如:
java -DTOOLS_DIR=/somewhere org.example.MyClass