Pregunta

Cuando ejecuta un programa a través de la línea de comandos, puede usar java -Xms -Xmx para especificar los tamaños de almacenamiento dinámico. Si el programa se va a ejecutar haciendo doble clic en un archivo .jar, ¿hay alguna forma de usar más almacenamiento que el estándar?

¿Fue útil?

Solución

No. Es por eso que a menudo hago un archivo .bat o .sh con esos parámetros y dirijo a los usuarios para que lo ejecuten en lugar de .jar. Desafortunadamente, es un poco feo tener que abrir una ventana del símbolo del sistema, pero eso no puede ser ayudado.

Como beneficio adicional, si la aplicación se bloquea, puede indicar a los usuarios que pongan pause en el archivo de proceso por lotes (o hágalo usted mismo), y luego puede ver cualquier rastro de pila que se produzca.

Editar: También puede usar un contenedor ejecutable como JSmooth o < a href = "http://launch4j.sourceforge.net/" rel = "noreferrer"> Launch4J en lugar de un archivo por lotes. Sin embargo, perderías algo de compatibilidad multiplataforma.

Otros consejos

En lugar de hacer doble clic directamente en el archivo .jar, puede usar un archivo por lotes que ejecute java -jar -Xms -Xmx your_file.jar . Desde el punto de vista del usuario, es el mismo, pero le da más control sobre el comando que realmente se ejecuta.

Puede hacer que el jar se inicie de nuevo con Runtime.getRuntime (). exec () con las opciones que desee. El jar puede contener más de un método main () (en diferentes clases) y puede hacer que una llame a la otra a través de un exec ().

Puede usar JSmooth o un envoltorio similar, que crea un archivo EXE que inicia el JVM con el Parámetros necesarios. De esa manera, puede evitar tener un archivo .bat y su cuadro de diálogo de consola. Aún una forma más es iniciar el programa real en un nuevo proceso utilizando Runtime.exec o ProcessBuilder.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top