簡體   English   中英

從NSIS腳本傳遞參數到java vm

[英]Passing arguments to java vm from NSIS script

我正在使用Eclipse開發我的第一個Java應用程序。 我最近需要通過將-Xmx256M傳遞給JVM來調整分配的內存量。 該應用程序當前打包為可運行的jar並使用NSIS進行安裝。

一旦安裝了jar文件,我就會遇到問題。 這樣做的常見做法是什么? 這是我目前在我的nsi文件中做的事情:

CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" "$SYSDIR\javaw.exe" "-Xmx256M -jar $INSTDIR\Foo.jar"

這導致在Windows上創建以下快捷方式:

C:\WINDOWS\system32\javaw.exe -Xmx256M -jar  C:\Program Files\Foo\Foo.jar 

不幸的是,由於C:\\ Program Files中的空格,這不起作用,如果我更改手動創建的鏈接以包含引號一切都很好:

C:\WINDOWS\system32\javaw.exe -Xmx256M -jar "C:\Program Files\Foo\Foo.jar"

更新:交換-jar和-Xmx256M的順序。 但問題仍然存在。 jar文件路徑中的空格導致問題。 我想我要么找到一種在命令中添加引號的方法,如手動更改目標時所示,或者完全改變我的方法!

可以使用單引號,雙引號或后向單引號引用NSIS字符串。 你也可以用$ \\($ \\“等)逃脫

CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" '"$SYSDIR\javaw.exe"' '-Xmx256M -jar "$INSTDIR\Foo.jar"'

您是否嘗試過保留引號但是轉義路徑分隔符?

C:\WINDOWS\system32\javaw.exe -Xmx256M -jar "C:\\Program Files\\Foo\\Foo.jar"

很確定你應該在“C:\\ WINDOWS \\ system32 \\ javaw.exe”周圍加上引號,即使沒有空格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM