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

2022-08-31 14:29:49

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

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

java -jar myjar.jar -Denviroment=dev

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

环境系统属性未被拾取。

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


答案 1

在 前面传递参数。如果在 jar 文件之后传递它们,它们将被解释为命令行参数并传递给 in 。喜欢-jarString[] argsmain

java -Denviroment=dev -jar myjar.jar 

答案 2

再加上Elliott的答案,如果我只是运行这个,那么我得到一个错误:

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

但是如果我添加这样的引号,那么它的工作原理是:

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