Ich versuche, eine JAR-Anwendung unter Ubuntu auszuführen, daher habe ich OpenJDK Java 7 Runtime installiert, aber beim Öffnen dieser Anwendung wurde folgende Meldung angezeigt:
Die Datei '/home/aimad/Programms/jMerise/JMerise.jar' ist nicht als ausführbar markiert. Wenn dies von einer nicht vertrauenswürdigen Quelle heruntergeladen oder kopiert wurde, kann die Ausführung gefährlich sein. Weitere Informationen finden Sie im ausführbaren Bit.
Zunächst müssen Sie sicherstellen, dass auf Ihrem System eine geeignete Java-Laufzeitumgebung vorhanden ist. Ubuntu hat openjdk im offiziellen Repo, das zu 99,99% mit Oracle Java bekämpft werden kann.
sudo apt-get install openjdk-7-jre
Als nächstes erstellen Sie eine Datei mit dem Namen
java-jar-launcher.desktop
in~/.local/share/applications
und geben Sie die folgenden Inhalte in ihm:Fügen Sie als Nächstes die folgende Zeile hinzu
~/.local/share/applications/mimeapps.list
:application/x-java-archive=java-jar-launcher.desktop;
Jetzt sollten Sie in der Lage sein, einfach auf JAR-Dateien zu doppelklicken, um sie zu starten. Wenn nichts passiert, klicken Sie mit der rechten Maustaste auf eine JAR-Datei, wählen Sie Eigenschaften aus und gehen Sie zur Registerkarte "Öffnen mit". Dort sollte "Java Application Launcher" angezeigt werden. Wählen Sie diese aus .
Diese Methode ist vorzuziehen (IMHO), da Sie auf diese Weise keine Ausführungsberechtigungen für JAR-Dateien erteilen, die möglicherweise gefährlich sein können. Diese Methode funktioniert nur in einer grafischen Umgebung und der Benutzer muss manuell auf die Datei doppelklicken.
quelle
Da Sie Ihre JAR-Anwendung mit ausführen
java -jar application.jar
, bedeutet dies, dass sich Java auf Ihrem Weg befindet. Sie benötigen zwei einfache Dinge: 1) Fügen Sie einen Interpreter (der anscheinend ist#!java -jar
) in die erste Zeile Ihrer JAR-Datei ein, so wie Sie es mit Ihren Shell-Skripten tun:echo '#!java -jar' > app.jar cat application.jar >> app.jar mv app.jar application.jar
Wenn Sie den Inhalt Ihrer JAR-Datei katzen, sehen Sie, dass er mit Beispiel beginnt:
#!java -jar PK ^lN BOOT-INF/PK ..... .....
2) Fügen Sie das Ausführungsattribut hinzu, indemchmod +x application.jar
Sie es jetzt über "selbst ausführen" können./application.jar
.quelle
Wenn das Ausführen einer JAR-Datei über die Befehlszeile funktioniert (
java -jar myFile.jar
), ein Doppelklick in der GUI jedoch nicht funktioniert und wenn dies erfolgreich zu seinsudo chmod +x myFile.jar
scheint, Sie es jedoch immer noch nicht mit einem Doppelklick öffnen können und wenn Sie mit der rechten Maustaste auf die JAR- Datei klicken Datei> Eigenschaften> Berechtigungen> "Datei als Programm ausführen lassen" funktioniert nicht (dh das Kontrollkästchen wechselt sofort nach dem Klicken zurück), dann befindet sich die JAR-Datei wahrscheinlich in einem NTFS-Dateisystem, für das keine Ausführungsberechtigungen zulässig sind eine Datei pro Datei. (Möglicherweise tritt dieses Problem auf, wenn Sie beispielsweise dual booten und eine gemeinsam genutzte NTFS-Partition zwischen Ubuntu und Windows haben.)Das Erstellen eines Starters (wie in @ tusharkant15 beschrieben) funktioniert, da hinter den Kulissen, die Sie ausführen
/usr/bin/java
, nicht die JAR-Datei selbst. Das Verschieben der JAR-Datei in ein anderes Dateisystem, das nicht NTFS ist, funktioniert ebenfalls.quelle