gpt4 book ai didi

java - 如何从运行时设置 java jvm 属性

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

我已经尝试了以下代码,但 java 仍然说它找不到这些值。仅当我在运行代码之前将它们设置在 JVM 中时,它才有效。我只想使用属性文件加载它们。在我的例子中,正在加载文件,但未填充 java 属性。

Properties prop = new Properties();
InputStream in = MyClass.class.getResourceAsStream("/vars.options");
prop.load(in);
in.close();
System.setProperties(prop);

最佳答案

您的代码未将属性对象设置为系统属性。

您缺少:

System.setProperties(prop);

注意

确保使用 try/catch/finally 语句并在 finally 中关闭流堵塞。

或者,您可以使用 Java 7 的“try-with-resources”习惯用法,因为 InputStreamAutoCloseable

示例(Java 7 风格)

try (InputStream in = Main.class.getResourceAsStream("/vars.options")){
Properties prop = new Properties();
prop.load(in);
System.setProperties(prop);
}
catch (IOException ioe) {
// TODO handle
}
System.out.println(System.getProperty("my.key"));

如果在 src 根文件夹中,vars.options 文件包含:

my.key=foo

...

这将打印:

foo

关于java - 如何从运行时设置 java jvm 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36894411/

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