2014-08-28 97 views
0

我想傳遞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

回答

1

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

    相關問題