如何在不使用 -D 语法的情况下将 属性 传递给 JVM?

How to pass property to JVM without using -D syntax?

我需要在不使用 -D 语法的情况下将属性传递给 java 执行,这可能吗?

通常我 运行:

java -DrandomProperty=randomVal MyPackage.MyClass

但是现在,我无法将属性传递给 java 命令(我无权访问实际调用,因为它是嵌套的),我也无法将它们作为环境变量传递(我无权访问 MyPackage.MyClass 来源,因此我无法用 System.getenv("randomProperty").

替换 System.getProperty("randomProperty") 调用

一种方法是设置环境变量_JAVA_OPTIONS。 JVM 读取此环境变量以获取默认的 JVM 参数以启动。将 _JAVA_OPTIONS 设置为 -DrandomProperty=randomVal 将导致所有 JVM 启动,就像将标志传递到命令行一样。

http://progexc.blogspot.co.uk/2013/12/what-i-discovered-while-trying-to-pass.html