Estoy desarrollando mi primera aplicación de Java usando Eclipse. Recientemente necesité ajustar la cantidad de memoria asignada pasando -Xmx256M a la JVM. La aplicación actualmente se empaqueta como un jar ejecutable y se instala con el NSIS.Pasando argumentos a java vm desde el script de NSIS
Tengo un problema al pasar argumentos al archivo jar una vez que está instalado. ¿Cuál es la práctica común para hacer esto? Esto es lo que estoy haciendo actualmente en mi archivo nsi:
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" "$SYSDIR\javaw.exe" "-Xmx256M -jar $INSTDIR\Foo.jar"
Esto se traduce en lo siguiente que se está creando como el destino del acceso directo en Windows:
C:\WINDOWS\system32\javaw.exe -Xmx256M -jar C:\Program Files\Foo\Foo.jar
Desafortunadamente esto no funciona debido al espacio en C: \ archivos de programa, Si cambio el enlace creado manualmente para incluir cotizaciones de todos es así:
C:\WINDOWS\system32\javaw.exe -Xmx256M -jar "C:\Program Files\Foo\Foo.jar"
ACTUALIZACIÓN: Ordenamiento de-jar y -Xmx256m intercambiar. El problema sigue siendo el mismo sin embargo. Los espacios en la ruta al archivo jar están causando un problema. ¡Creo que necesito encontrar una forma de agregar comillas al comando, como se muestra cuando cambio manualmente el objetivo, o cambio completamente mi enfoque!
NSIS no escapa con \, usa $ \ (Y no hay necesidad de escapar \ en las rutas) – Anders