Bajo Windows, no es posible ejecutar directamente un archivo .jar aunque se tenga instalada una JVM (Java Virtual Machine). Esto se debe a Windows, que seguirá siendo un fastidio durante mucho tiempo.
Explicación:
Windows no sabe asociar una extensión .jar con una aplicación Java.
Para sortear el problema, hay 2 métodos.
El primero consistirá en enseñarle a Windows a lanzar la JVM al hacer doble clic en un archivo .jar.
Este método está reservado para personas con sólidos conocimientos; aún así, lo comparto para la cultura general, sabiendo que el segundo método es más simple.
Primer método:
Deberás manipular el registro para asociar los .jar a disk:/ruta/java -jar %1
Desde el explorador:
herramientas\opciones de carpeta\tipos de archivo\nuevo
jar; tipo = java:
avanzado
acción = ejecutar
programa=disk:/ruta jre/java -jar %1
Desde regedit, copia una clave existente (iexplore, por ejemplo) y coloca la misma información que arriba.
Guarda un archivo .reg que contenga esta modificación para reimplementarlo posteriormente en caso de reinstalación del sistema.
Segundo método:
Uso de Launch4j
Launch4j es un software que permite crear lanzadores para tus aplicaciones Java. Creará un .exe para ejecutar tu .jar. Este software está bajo licencia GPL, por lo que es totalmente libre. Está disponible en Windows, Linux, MacOsx y Solaris.
Puedes configurar diferentes opciones para la JVM y para la creación del programa. También puedes añadir un ícono a tus programas.
Aquí tienes una lista (no exhaustiva) de todo lo que permite hacer Launch4j:
Funciones de Launch4j
* Posibilidad de emplear un ClassPath dinámico con el uso de variables de entorno
* Posibilidad de poner un ícono en tu lanzador con diferentes resoluciones y colores
* Muestra una pantalla de inicio nativa a partir de una imagen BMP antes de lanzar la JVM
* El nombre del proceso es el nombre de tu ejecutable, por lo que es fácil de localizar
* Trabaja con una JVM especificada o se encarga de buscarla
* Muestra una página de descarga de Java si no hay JVM o si no es la adecuada
* Puede crear lanzadores para aplicaciones gráficas o de consola
* Se pueden pasar argumentos en línea de comandos al lanzador
* Modificación de los valores de tamaño de la heap size
* Puede configurar las opciones de la JVM a través de la interfaz gráfica
* Posibilidad de usar un archivo .ini para las opciones de la JVM
* Posibilidad de modificar las variables de entorno
* Se pueden agregar información al lanzador como el autor y la versión
* Puede ser utilizado para aplicaciones comerciales
* Puede ser utilizado en línea de comandos o mediante la interfaz gráfica
* Se puede realizar la compilación a través de Ant
* El lanzador funciona en todas las plataformas Windows
Como puedes ver, Launch4j permite muchas cosas, pero a pesar de eso, sigue siendo bastante sencillo de usar a través de su interfaz gráfica muy ergonómica.
Sitio oficial de Launch4j
http://launch4j.sourceforge.net/ fuente:
https://fr.answers.yahoo.com/question/index?qid=20091008141005AAzg9WX