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

Java 如何在eclipse中从属性文件中读取VM参数?,java,eclipse,Java,Eclipse,正如我们所知,eclipse为我们提供了一种将VM参数传递给特定类的方法,请查看下图中的VM Arguments部分: 但我希望以不同的方式传递这些参数,这样我可以将这些参数放在属性文件中,然后在代码中检索它们 因此,一旦我从任何其他类调用Lesson2类(如上图所示),我将在运行之前向它传递VM参数 有什么建议吗 您可以尝试使用JMX客户端(如VisualVM),然后调用getVMOption(字符串名称),请参见在一个类中设置VM参数并在另一个类中访问它,或者在运行配置的VM参数字段中将参

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

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

因此,一旦我从任何其他类调用Lesson2类(如上图所示),我将在运行之前向它传递VM参数


有什么建议吗

您可以尝试使用JMX客户端(如VisualVM),然后调用getVMOption(字符串名称),请参见在一个类中设置VM参数并在另一个类中访问它,或者在运行配置的VM参数字段中将参数设置为
-Dprop=propValue
,或者使用
系统.getProperties().setProperty代码中的('prop','propValue')
。然后可以从调用类中的映射访问该属性。对于从命令行启动的应用程序也可以这样做

$ java -Dprop=propValue SomeClass ...
或应用服务器的启动参数(例如:Tomcat或JBoss)

然后启动应用服务器


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

您的工作台将有一个名为.metadata的文件夹,它存储您的所有配置。我的猜测是->您可以通过代码更新该文件。免责声明从未测试过!。一旦我丢失了调试值,我就读取这些文件以获取一些调试信息那些配置文件中的参数hi Jad。你能详细说明“在代码中检索它们”是什么意思吗?由于vm参数用于配置jvm,因此必须在初始化vm之前读取参数。因此,您需要另一个启动器来读取属性文件并传递参数。在Unix上,您可以使用shell脚本来完成此操作。Hi Thomas。如上图所示,我将vm参数传递给Lesson2类,因为我是runni直接调用Lesson2类,但是现在我想从另一个类调用这个Lesson2类,所以我需要将这些参数从我的类传递到Lesson2类,因为上图中的VM参数只有在我直接从eclipse执行类时才有用,现在我想从另一个类调用这个类。谢谢你是指VM a吗rgument的形式是
-DvmTest=Value
?如果是这样,您将从System.getProperties()获取该值,作为
Properties-prop=System.getProperties();String Value=prop.getProperty(“vmtest”);
@ujulu:是的,我是指这个形式,但我希望在执行之前将这些参数设置为特定类,我该怎么做?
$ export JAVA_OPTS="-Dprop=propValue"