Java 仅从命令行获取系统属性列表

Java 仅从命令行获取系统属性列表,java,grails,groovy,Java,Grails,Groovy,这类似于一个非常基本的问题,我试图找到仅从命令行传递给java程序的系统属性列表。例如,跑步 java -Dsome.property=value -Dother.property=value2 我只是想得到一个这些属性的列表。忽略示例中的特定属性名称,实际的命令行参数将被任意命名,因此无法为我需要的每个属性显式调用System.getProperty(“some.property”) System.getProperties()返回许多我不感兴趣的属性启动程序时,是否可以区分命令行上设置的属

这类似于一个非常基本的问题,我试图找到仅从命令行传递给java程序的系统属性列表。例如,跑步

java -Dsome.property=value -Dother.property=value2
我只是想得到一个这些属性的列表。忽略示例中的特定属性名称,实际的命令行参数将被任意命名,因此无法为我需要的每个属性显式调用
System.getProperty(“some.property”)

System.getProperties()
返回许多我不感兴趣的属性启动程序时,是否可以区分命令行上设置的属性与其他地方设置的属性?

是否可以区分命令上设置的属性 启动程序时的行与来自其他地方的行

据我所知,这是不受支持的。在代码执行时,命令行系统属性已经与所有其他属性一起被屏蔽

取决于你真正想要完成的事情,需要考虑的一点是,不要将它们设置为命令行系统属性,而是将它们作为参数传递到程序中,这样你就可以对它们进行评估,然后在你的代码>主/<代码>方法之前将它们设置为系统属性。


我希望这会有帮助。

的确如此。我确实按照你的建议解决了这个问题,但还是很好奇这是否可能。很高兴知道不是这样。