![](/img/trans.png)
[英]How do I set the JVM properties of an executable Spring Boot jarfile?
[英]How do I set java jvm properties from run time
我嘗試了以下代碼,但是java仍然說它找不到值。 僅當我在運行代碼之前在JVM中設置它們時,它才有效。 我只想使用屬性文件加載它們。 在我的情況下,正在加載文件,而未填充Java屬性。
Properties prop = new Properties();
InputStream in = MyClass.class.getResourceAsStream("/vars.options");
prop.load(in);
in.close();
System.setProperties(prop);
您的代碼未將properties對象設置為系統屬性。
您不見了:
System.setProperties(prop);
注意
確保使用try
/ catch
/ finally
語句,並在finally
塊中關閉流。
另外,您可以使用Java 7的“ try-with-resources”習慣用法,因為InputStream
是AutoCloseable
。
示例(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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.