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.
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
A continuación, cree un archivo llamado
java-jar-launcher.desktop
en~/.local/share/applications
y poner el siguiente contenido en ella:A continuación, 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 sucede nada, haga clic derecho en un archivo jar, seleccione 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.
fuente
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 está#!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 el ej .:
#!java -jar PK ^lN BOOT-INF/PK ..... .....
2) agregue el atributo Ejecutarchmod +x application.jar
ahora. Ahora puede " autoejecutarlo " a través de./application.jar
.fuente
Si funciona un archivo .jar desde la línea de comando funciona (
java -jar myFile.jar
), pero hacer doble clic en él en la GUI no funciona, y sisudo chmod +x myFile.jar
parece tener éxito pero aún no puede abrir con doble clic, y si hace clic derecho en el .jar archivo> 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 permisos de ejecución en 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).La creación de un iniciador (como describe @ tusharkant15) funcionará porque detrás de escena está 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á.fuente