如何在eclipse中从属性文件中读取VM参数?

众所周知,eclipse为我们提供了一种将VM参数传递给特定类的方法,请查看下图中的VM Arguments部分:

在此处输入图像描述

但我希望以不同的方式传递这些参数,因此我可以将这些参数放在属性文件中,然后在代码中检索它们。

所以一旦我从任何其他类调用Lesson2类(如上图所示),我会在运行之前将其传递给它

有什么建议么?

要在一个类中设置VM参数并在另一个类中访问它,可以在运行配置的 VM参数字段中将参数设置为-Dprop=propValue ,也可以使用System.getProperties().setProperty('prop', 'propValue')在代码中。 然后可以从被调用类中的映射访问该属性。 对于从命令行启动的应用程序,这也是可能的

 $ java -Dprop=propValue SomeClass ... 

或应用程序服务器的启动参数(示例:Tomcat或JBoss)

 $ export JAVA_OPTS="-Dprop=propValue" 

然后启动应用程序服务器。

最后,可以通过列出-Dprop=value以空格分隔的-Dprop=value来设置多个属性。

您可以尝试使用JMX客户端(如VisualVM),然后调用getVMOption(String name),请参阅HotSpotDiagnosticMXBean.getDiagnosticOptions()