我正在使用Eclipse开发我的第一个Java应用程序。最近需要通过传递 -Xmx256M 到JVM来调整分配的内存量。该应用程序目前以可运行的jar文件打包,并使用NSIS进行安装。
我在将其安装后,传递参数给jar文件时遇到了问题。这个问题通常是如何解决的呢?以下是我在nsi文件中当前所做的事情:
这将在 Windows 上创建以下快捷方式目标:
我在将其安装后,传递参数给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的顺序已经交换。然而问题仍然存在。路径中的空格导致了问题。我认为我要么需要找到一种在命令中添加引号的方法,就像当我手动更改目标时所示的那样,要么完全改变我的方法!