如何将参数列表传递给VM命令行

问题描述:

我想传递2个动态VM参数,怎么样?如何将参数列表传递给VM命令行

通过一个动态的说法我使用:

java -Dxxxxxxxx=xxxx main 

,但如何通过1个多参数。

谢谢。

+4

'-Dproperty1 =值-Dproperty2 = value2'等 – 2014-08-28 13:14:06

+1

@AndrewLogvinov:这应该是答案。 – Roman 2014-08-28 13:14:43

+0

我使用以下java -cp。-Djava.security.auth.login.config =。/ loginmodules.properties -Djava.security.policy =。 chp02.policy -Djava.security.manager chp02.Chp02Main,但仅限于第一个参数是执行 – Hazim 2014-08-28 13:18:16

Java

-Dproperty =值

  • 设置系统属性值。

java -Dmydir="some string" SomeClass

在你的命令行:

java -cp . -Djava.security.auth.login.config=./loginmodules.properties -Djava.security.policy=. chp02.policy -Djava.security.manager chp02.Chp02Main 

第二

  • 如果值是一个包含空格的字符串,则必须在双引号字符串括起来论据-Djava.security.policy=. chp02.policy包含空间

    您需要附上或更正参数,如果空间是一个错误

  • +0

    谢谢,在我的问题细节中错误地添加了空格,但是当我执行命令时没有空格。 – Hazim 2014-08-31 06:49:25

    +0

    如果执行命令:j ava -cp。 -Djava.security.manager -Djava.security.policy =。/ chp02.policy chp02.Chp02Main,我得到异常: 线程“main”中的异常java.security.AccessControlException:access denied(“javax.security.auth .AuthPermission“”cr eateLoginContext.chp02“),尽管我在策略文件中提到了行:permission javax.security.auth.AuthPermission”createLoginContext。*“; – Hazim 2014-08-31 06:59:27

    +0

    请阅读[如何创建一个最小,完整和可验证的示例](http://stackoverflow.com/help/mcve)并提出**新问题。 – DavidPostill 2014-08-31 07:18:03