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

时间:2015-04-23 00:24:42

标签: java maven properties jar system

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

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

java -jar myjar.jar -Denviroment=dev

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

环境系统属性未被提升。

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

2 个答案:

答案 0 :(得分:74)

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

java -Denviroment=dev -jar myjar.jar 

答案 1 :(得分:3)

添加到Elliott的答案中,如果我只是运行它,那么我会得到一个错误:

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

但是,如果我添加这样的引号,那么它会起作用:

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