众所周知,eclipse为我们提供了一种将VM参数传递给特定类的方法,请查看下图中的VM Arguments
部分:
https://jsfiddle.net/o5fdqurw/2/
但我希望以不同的方式传递这些参数,因此我可以将这些参数放在属性文件中,然后在代码中检索它们。
因此,一旦我从任何其他类调用Lesson2类(如上图所示),我会在运行之前将其传递给VM参数
有什么建议吗?
答案 0 :(得分:2)
要在一个类中设置VM参数并在另一个类中访问它,可以在运行配置 VM参数字段中将参数设置为-Dprop=propValue
>或在代码中使用System.getProperties().setProperty('prop', 'propValue')
。然后可以从被调用类中的映射访问该属性。对于从命令行启动的应用程序
$ java -Dprop=propValue SomeClass ...
或应用程序服务器的启动参数(例如:Tomcat或JBoss)
$ export JAVA_OPTS="-Dprop=propValue"
然后启动应用程序服务器。
最后,可以通过列出以空格分隔的-Dprop=value
来设置多个属性。
答案 1 :(得分:0)
您可以尝试使用JMX客户端(如VisualVM),然后调用getVMOption(String name),请参阅HotSpotDiagnosticMXBean.getDiagnosticOptions()