使用System.getenv("VAR")直接读取指定环境变量,2. 通过Map遍历打印所有环境变量快速验证,3. 借助-D参数传入JVM属性对比测试,4. 注意环境变量需在Java启动前设置并区分系统属性与环境变量来源。

要确认环境变量是否在Java环境中生效,最直接的方式是通过Java命令行程序读取系统属性或环境变量。下面介绍几种实用的测试方法。
使用System.getenv()查看环境变量
Java提供了System.getenv()方法来获取操作系统级别的环境变量。你可以写一个简单的Java程序来打印特定或所有环境变量。
示例代码:
public class TestEnv {public static void main(String[] args) {
String myVar = System.getenv("MY_VARIABLE");
if (myVar != null) {
System.out.println("MY_VARIABLE = " + myVar);
} else {
System.out.println("MY_VARIABLE 未设置");
}
}
}
将MY_VARIABLE替换为你想测试的环境变量名。编译并运行:
立即学习“Java免费学习笔记(深入)”;
javac TestEnv.javajava TestEnv
打印全部环境变量快速验证
如果不确定变量名或想查看全部环境变量,可以修改代码打印所有变量:
import java.util.Map;public class PrintAllEnv {
public static void main(String[] args) {
Map
for (String key : env.keySet()) {
System.out.println(key + " = " + env.get(key));
}
}
}
运行后会输出所有环境变量,便于查找目标变量是否存在。
通过命令行直接传参测试(替代方案)
如果你只是临时测试某个值,也可以不依赖环境变量,改用JVM系统属性:
java -Dmy.prop=value YourApp在代码中用System.getProperty("my.prop")获取。这种方式用于对比测试,可帮助判断是环境变量设置问题还是代码读取逻辑问题。
常见注意事项
- 确保环境变量在启动Java进程前已设置,例如在Linux中应先执行export VAR_NAME=value,再运行java命令。
- Windows下设置后需重启命令提示符,否则新终端看不到更新。
- 区分System.getenv()(环境变量)和System.getProperty()(JVM系统属性),两者来源不同。
- IDE(如IntelliJ、Eclipse)可能不继承系统环境变量,需手动配置运行环境。










