我们的一个应用程序依赖于我们的服务器安装设置的环境变量的存在。安装服务器后,我可以使用“环境变量”对话框确认此变量的存在。但是,当客户端应用程序执行时,对 set 命令和 Java 方法的调用会System.getenv()
忽略此变量,而所有其他变量都存在。有趣的是,这种读取特定环境变量的失败只发生在 上Windows 7 64-bit machine
,Windows XP 32-bit
不会发生。32 位机器上的相同代码返回我们的服务器安装设置的环境变量。我不确定Windows 7
和之间的区别是否在Windows XP
这里起作用。有人对如何解决这个问题有任何建议吗?
问问题
2446 次
2 回答
1
事实证明,我不知道,Windows 7 有两个 cmd.exe 命令——一个用于 32 位环境,一个用于 64 位环境。当我为 32 位环境运行 cmd.exe 时,我没有看到我的变量,但是当我为 64 位环境运行 cmd.exe 时,变量就在那里。
于 2013-09-03T16:09:41.990 回答
0
有几件事要检查
1)当你键入echo %VARNAME%
它时发生的事情可能与 Java 在幕后所做的事情相去甚远。
2)这是一个系统范围的环境变量还是每个用户一个?它不应该有所作为,但它可能
3)你可以发布你的代码。下面的片段对我来说很好,这对你有用吗?
String path = System.getenv("PATH");
于 2013-08-29T17:13:58.043 回答