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

时间:2019-03-28 14:51:09

标签: java grails groovy

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

java -Dsome.property=value -Dother.property=value2

我正在尝试获取这些属性的列表。忽略示例中的特定属性名称,实际的命令行参数将被任意命名,因此为我需要的每个属性显式调用System.getProperty("some.property")是不可行的。

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

1 个答案:

答案 0 :(得分:3)

  

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

据我所知,这不受支持。在执行代码时,命令行系统属性已经与其他所有属性合并。

根据您真正要完成的工作,要考虑的一件事可能是不要将它们设置为命令行系统属性,而是将它们作为参数传递给程序,以便您可以对它们进行评估,然后将其设置为系统属性。您的main方法在其他大部分代码执行之前。

我希望有帮助。