it-swarm-es.com

¿Cómo puedo hacer que un archivo .jar sea ejecutable?

Estoy tratando de ejecutar una aplicación jar en Ubuntu, así que instalé OpenJDK Java 7 Runtime, pero cuando abro esta aplicación recibí este mensaje:

El archivo '/home/aimad/Programms/jMerise/JMerise.jar' no está marcado como ejecutable. Si se descargó o copió de una fuente no confiable, puede ser peligroso ejecutarlo. Para más detalles, lea sobre el bit ejecutable.

11
Aimad Majdou

Siempre puede ejecutar un archivo jar haciendo Java -jar JMerise.jar.

Sin embargo, para que el archivo jar sea ejecutable, debe establecer el bit ejecutable, como lo indica el mensaje. chmod +x /home/aimad/Programms/jMerise/JMerise.jar logrará esto.

Después de eso, puede hacer ./JMerise.jar para ejecutarlo.

man chmod le proporcionará información sobre cómo funciona chmod.

Ver también: https://wiki.ubuntu.com/Security/ExecutableBit

17
Gary

Haga clic derecho en el archivo, haga clic en propiedades, luego vaya a la pestaña Permisos y marque la casilla que dice "Permitir ejecutar este archivo como un programa".

enter image description here

7
RolandiXor

Primero, deberá asegurarse de tener un entorno de tiempo de ejecución Java adecuado en su sistema. Ubuntu tiene openjdk en el repositorio oficial que es 99.99% combatible con Oracle Java, para instalarlo escriba:

Sudo apt-get install openjdk-7-jre

Luego cree un archivo llamado Java-jar-launcher.desktop en ~/.local/share/applications y coloque el siguiente contenido en él:

[Desktop Entry]
Type=Application
Name=Java Application Launcher
Icon=Java
Exec=/usr/bin/Java -jar %U
Categories=Application;Java
Terminal=False

Luego agregue la siguiente línea en ~/.local/share/applications/mimeapps.list:

application/x-Java-archive=Java-jar-launcher.desktop;

Ahora debería poder hacer doble clic en los archivos jar para iniciarlos; si no ocurre nada, haga clic con el botón derecho en un archivo jar, seleccione las propiedades, vaya a la pestaña "Abrir con" y allí debería ver "Java Application Launcher", seleccione eso .

Este método es preferible (en mi humilde opinión) porque de esta manera no está otorgando permisos de ejecución a archivos jar que pueden ser potencialmente peligrosos. Este método solo funcionará en un entorno gráfico y necesita que el usuario haga doble clic manualmente en el archivo.

3
tusharkant15

Dado que ejecuta su aplicación jar con Java -jar application.jar, eso significa que Java está en su camino. Necesita dos cosas simples: 1) agregue un intérprete (que aparentemente es #!Java -jar) en la primera línea de su archivo jar, como lo hace con sus scripts de Shell: echo '#!Java -jar' > app.jar cat application.jar >> app.jar mv app.jar application.jar

Si detecta el contenido de su archivo jar, verá que comienza con ej .: #!Java -jar PK ^lN BOOT-INF/PK ..... ..... 2) agregue el atributo de ejecución por chmod +x application.jar Ahora puede "autoejecutarlo" a través de ./application.jar.

0
gość

Si funciona un archivo .jar desde la línea de comando funciona (Java -jar myFile.jar), pero no hace doble clic en la GUI, y si Sudo chmod +x myFile.jar parece tener éxito pero aún no puede abrir con doble clic, y si hace clic derecho en el El archivo .jar> Propiedades> Permisos> "Permitir ejecutar archivo como programa" no funciona (es decir, la casilla de verificación cambia de nuevo justo después de hacer clic en él), entonces probablemente el archivo .jar está en un sistema de archivos NTFS, que no permite ejecutar permisos por archivo. (Es posible que tenga este problema si realiza un arranque dual, por ejemplo, y tiene una partición NTFS compartida entre Ubuntu y Windows).

Crear un lanzador (como describe @ tusharkant15) funcionará porque detrás de escena estás ejecutando /usr/bin/Java, no el archivo .jar en sí. Mover el archivo .jar a otro sistema de archivos que no sea NTFS también funcionará.

0
drammock