我想在Java代码中找到特定env变量$ ABC的值 自System.getenv(" ABC"); Java 1.4不是一个选项,它的替代方案是什么?
答案 0 :(得分:0)
您的问题的评论员是100%正确的。如果可以以任何方式升级您的Java版本。如果无法升级并且您知道目标环境,则可以执行bash命令并读取结果。像这样:
p = Runtime.getRuntime().exec("echo $" + yourEnvVariable);
p.waitFor();
BufferedReader reader =
new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = reader.readLine())!= null) {
sb.append(line + "\n");
}
String variableValue = sb.toString();
但这绝不是一个好习惯,因为它非常依赖于执行程序的操作系统。
P.S 我没有测试它是否真的有效,因为我无处运行Java 1.4。
答案 1 :(得分:0)
更好的想法是创建一个包装器脚本来启动程序,并使用Properties
参数将特定环境变量的值放入JVM的系统-Dname=value
对象中。< / p>
显然,您需要为每个OS系列实现不同的包装器。
而且,严肃地说,你不应该继续为Java 1.4开发。你缺少大约15年的安全补丁。