如何将系统属性传递给 jar 文件

How to pass system properties to a jar file

我有一个主 class,它需要我使用 -D 选项传递的某些属性。我可以通过将它们作为 VM 选项发送来在我的 IDE 中访问它。

我使用 Maven 将这个应用程序打包成一个 jar 文件,当我尝试以下操作时:

java -jar myjar.jar -Denviroment=dev

java -jar myjar.jar "-Denvironment=dev"

环境系统 属性 未被拾取。

有任何关于正在发生的事情的指示吗?

传递 -jar 之前的参数。如果您在 jar 文件之后传递它们,它们将被解释为命令行参数并传递给 main 中的 String[] args。喜欢,

java -Denviroment=dev -jar myjar.jar 

添加到 Elliott 的回答中,如果我只是 运行 这个然后我得到一个错误:

java -Djna.nosys=true -jar jenkins.war

但如果我像这样添加引号,它就会起作用:

java "-Djna.nosys=true" -jar jenkins.war