我有一个系统属性(提供的JVM) networkaddress.cache.ttl
。此设置的-1
默认不好,应将其设置为不同的值(例如:60)。
我知道可以通过调用java -Dnetworkaddress.cache.ttl=60 -jar main.jar
是否有一种方法可以将此值设置为系统范围默认值,以便任何运行java -jar main.jar
的过程都会拾取它?
检查 JAVA_TOOL_OPTIONS
环境变量-https://docs.oracle.com/javase/8/docs/technotes/guides/guides/troubleshoot/envvars002.html
您可以将其设置为将JVM选项添加到所有Java流程中。
在您的情况下,应将其设置为
-Dnetworkaddress.cache.ttl=60
JVM流程应在开始时输出:
Picked up JAVA_TOOL_OPTIONS: <your value>
如果他们选择您的设置。
编辑:Alex
public class Main {
public static void main(String[] args) {
System.out.println(System.getProperties().get("foobar"));
}
}
测试:
$ export JAVA_TOOL_OPTIONS='-Dfoobar=1'
$ java Main
Picked up JAVA_TOOL_OPTIONS: -Dfoobar=1
1