2015-06-10 43 views
0

我試圖通過run.bat -Djava.messaging.ServerPeerID = 1,但args'='被替換爲空格。所以傳遞給Main.java的參數被設置爲java.messaging.ServerPeerID的true,但它不應該是。主應該已經得到了ARG作爲適當.....run.bat命令行JVM參數未按預期方式傳遞

樣品一段代碼

set ARGS = 
:loop1 
if %1= "" goto contiArg 
else (
    # my echo here : echo " Args ... %1" 
Set ARGS = %ARGS% %1 
Shift 
) 
Goto loop1 

行我回聲線被扔errorven我用雙引號爲u提到.....

+0

'的run.bat 「-Djava.messaging.ServerPeerID = 1」'? – npocmaka

回答

0

=是批處理/ cmd.exe中的標準分隔符,因此將其作爲參數傳遞的唯一方法是將其用雙引號括起來(使用run.bat "-Djava.messaging.ServerPeerID=1")。 java應該能夠處理引號,但如果您希望在傳遞給java時使用%~1可以取消參數。