gpt4 book ai didi

java - 如何使用java程序设置系统变量

转载 作者:行者123 更新时间:2023-12-01 23:18:59 29 4
gpt4 key购买 nike

我想在JAVA中设置环境变量。为此,我在网上搜索了很多并得到了以下代码

ProcessBuilder pb = new ProcessBuilder();
Map<String, String> env = pb.environment();
env.put("DS_HOME", "C:\\MyFile\\jboss-eap-6.4\\modules\\com\\mycom\\library\\d_home");
env.put("CS_HOME", "C:\\MyFile\\jboss-eap-6.4\\modules\\com\\mycom\\library\\c_home");
pb.command("cmd.exe", "/c", "echo", "%DS_HOME%");
pb.command("cmd.exe", "/c", "echo", "%CS_HOME%");
try {
pb.inheritIO().start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Map<String, String> getenv = System.getenv();
Set<Entry<String,String>> entrySet = getenv.entrySet();
for (Entry<String, String> entry : entrySet) {
System.out.println(entry.getKey() + " " + entry.getValue());
}

执行此代码后,我没有获得使用 ProcessBuilder 设置的自定义变量。请帮我解决这个问题。我想执行一个需要一些环境变量的服务,并且我正在尝试使用 java 代码设置系统变量。

最佳答案

强烈建议:

你最好的选择可能是:

  1. 编写一个 .bat 文件:a) 设置环境变量,然后b) 调用你的.exe

  2. 让您的 Java 程序调用 .bat 文件

无论如何,以下是使用 Win32 API 从 C 或 C++ 更改 Windows 系统环境变量的方法:

https://learn.microsoft.com/en-us/windows/win32/procthread/environment-variables

关于java - 如何使用java程序设置系统变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58335563/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com