Java 是否有方法将属性文件中的所有属性作为JVM参数传递?

Java 是否有方法将属性文件中的所有属性作为JVM参数传递?,java,properties,Java,Properties,我们可以使用-D参数通过java CLI传递单个属性: java-Dkey=value… 有没有一种方法可以通过这种方式传递属性文件中的所有属性 比如: java-Dprop.file=myproperties.properties…如果添加 System.getProperties().load(new FileInputStream(System.getProperty("prop.file"))); 如果你加上 System.getProperties().load(new FileIn

我们可以使用
-D
参数通过java CLI传递单个属性:

java-Dkey=value…

有没有一种方法可以通过这种方式传递属性文件中的所有属性

比如:

java-Dprop.file=myproperties.properties…

如果添加

System.getProperties().load(new FileInputStream(System.getProperty("prop.file")));
如果你加上

System.getProperties().load(new FileInputStream(System.getProperty("prop.file")));
在代码中使用

new Properties().load(...)
当然,但是在命令行中只讨论key=val

请注意,在程序运行之前,必须设置一些键(例如java.library.path),在代码中重置将无效。

在代码中使用

new Properties().load(...)
当然,但是在命令行中只讨论key=val


请注意,在程序运行之前必须设置一些键(例如java.library.path),在代码中重置不会产生任何效果。

java cli没有此类选项


但是这个任务可以通过命令行通过简单的ant的build.xml和实现。

java cli没有这样的选项


但是这个任务可以通过命令行通过简单的ant的build.xml和来完成。

他没有说他不能更改代码。我假设他是一名开发人员,知道有时你必须编写一些代码来完成一些事情。即使他不知道(我想他也知道),一些属性在运行时无法更改,因此这并不能完全解决问题。@Viruzzo,你说得对,更改一些系统属性没有任何效果。如果SecurityManager允许,您可以更改任何属性。甚至内存选项、类路径、优化标志?我对此表示怀疑。@Viruzzo,你能举一个这样一个用
-D
设置的标志的例子吗?他没有说他不能更改代码。我假设他是一名开发人员,知道有时你必须编写一些代码来完成一些事情。即使他不知道(我想他也知道),一些属性在运行时无法更改,因此这并不能完全解决问题。@Viruzzo,你说得对,更改一些系统属性没有任何效果。如果SecurityManager允许,您可以更改任何属性。甚至内存选项、类路径、优化标志?我对此表示怀疑。@Viruzzo,你能举一个用
-D
设置的这样一个标志的例子吗?可能的重复