Ausführbare JAR-Datei unter Ubuntu (NetBeans)
Ich bin das schreiben einer einfachen Swing-Anwendung in NetBeans und tut so auf einer Ubuntu-Maschine für die erste Zeit.
Wie viele von Euch wissen, NetBeans automatisch erstellt ausführbare JARs für Projekte, die "set as main".
Unter Windows können Sie einen Doppelklick auf eine ausführbare JAR-Datei und es wird automatisch ruft die JRE und läuft die app. In Ubuntu, Doppelklick auf die .jar-Datei bewirkt, dass die Datei geöffnet werden, die in der Archiv-manager statt. Um mein GLAS, ich muss entweder mit der rechten Maustaste darauf und wählen Sie "Öffnen mit OpenJDK Java 6 Runtime" oder starten Sie es von der Befehlszeile aus.
Von der Kommandozeile aus, bekomme ich überhaupt keine Probleme. Jedoch, wenn ich versuche, starten Sie es aus dem Rechtsklick-Menü, erhalte ich eine Fehlermeldung, die lautet:
Die Datei MySwingApp.jar ist nicht als ausführbar markiert...
Also ich habe 2 Fragen:
- Was muss ich tun, um es als ausführbare Datei? Ist das etwas, was ich im NB oder muss ich die shell? Wenn ich legen Sie die Berechtigungen über das shell, das nicht in Konflikt mit NB ' s Politik der auto-Generierung **executable** GLÄSER? Und welchen Befehl würde ich verwenden, um flip das executable-bit überhaupt?!?!
- Ist das einfach nur ein Linux-Problemchen? Ich möchte senden Sie diese JAR-Datei zu Freund, führen Sie Windows, und ich möchte für Sie ist, können Sie einfach doppelt darauf klicken und das Programm starten
Vielen Dank für alle hilfreichen Vorschläge!
- "Als ausführbar markiert" bedeutet, dass Sie brauchen, um einen x-bit drauf. Im terminal mit "chmod +x MySwingApp.jar" nach cd ' Ing zu seiner Lage.
- Danke! Aber was ist mit meinen anderen Fragen? Ist das etwas, was ich werde zu tun haben, jedes mal, wenn ich kompilieren, oder für jedes GLAS, die ich erstellen? Was Windows-Benutzer, die ich mir Gläser?
- Wenn Sie markieren Sie Ihre jar-Datei als ausführbare Datei doppelklicken Sie auf und führen Sie es?
- Kein Doppelklick, noch öffnet sich der Archive Manager, aber ich kann jetzt mit der rechten Maustaste darauf und wählen Sie Öffnen es mit der JRE und das funktioniert, ohne dass die Fehlermeldung...**aber** die minute mache ich einen clean-build (eine neue JAR-Datei erzeugt wird) und versuchen, mit der rechten Maustaste auf es zugreifen, jetzt habe ich wieder das gleiche problem und müsste chmod das x-bit...
- Ist es nicht ein Linux-Problemchen. Es ist die Art, wie Unix funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie manuell optimieren Sie Ihre build-Prozess, um die jar-Datei als ausführbar markiert in Netbeans. Gehen Sie zu Ihrem Projekt-root, und öffnen Sie build.xml. Der header hat Anweisungen auf hinzufügen, um den build-Prozess. Es gibt ein Ziel "-post-jar", das aufgerufen wird, nachdem die jar gebaut wird. Sie müssen zu machen, dass Ziel und nutzen Ant-chmod Aufgabe, ändern Sie Ihr Glas. Sobald Sie das tun, es tritt jedes mal, wenn Sie eine jar-Datei in das Projekt.
Es wird gut laufen auf deinem Freund das Windows-Maschine aus, solange er eine JRE installiert ist.
Hier ist ein thread über das ausführen von Gläsern mit Doppelklick in Linux.
Können Sie Java-wie ein native binary unter Ubuntu (und andere Linux-Versionen), ist es ein feature des Kernels. Zu installieren, müssen Sie die binfmt-support-Paket zu geben, die der kernel der Haken für die Ausführung von java auf diese Weise.
In Ubuntu, öffnen Sie ein terminal und führen:
sudo apt-get install binfmt-support
Dann stellen Sie Ihre JAR-Datei ausführbar
chmod a+x yourjar.jar
Dann können Sie das JAR wie jede andere binäre durch Eingabe
yourjar.jar
Jar-Dateien sind nicht first class-Dateien, und Sie werden nicht auf Magische Weise ausführbaren Dateien durch ändern Ihrer executable-flag.
Wenn Sie ausführen, ein Glas, führen Sie den Befehl
Ist es das gleiche, als wenn Sie doppelklicken Sie auf eine png-Datei, und erwarten, dass es in einem Malprogramm
Brauchen Sie nicht, um Ihren png eine ausführbare Datei, und es wird nicht ein problem zu lösen.
Statt, Sie haben zu sagen, Ihre desktop-Umgebung, was zu tun ist, wenn Doppelklick auf eine jar-Datei oder png-Datei, und Sie haben es zu tun auf Linux die gleiche Weise tun Sie es in Windows vielleicht den installer unter Windows tut es für Sie, denn es ist in der Regel nur auf Desktop-Umgebung (Windows) auf das Betriebssystem (Windows), Linux Gnome, KDE, XFCE, LXDE, fluxbox und Millionen mehr.
Und es ist nicht so sicher, was Sie damit machen wollen. Da jar-Dateien sind eine spezielle form von gepackten Zip-Dateien, in der Regel mit einem Manifest und den Klassen, in der Archivmanager ist nicht eine falsche Lösung, und es ist, um den Bildschirmschoner zu zeigen, den Inhalt des Archivs, als Sie es ausgeführt haben.
Kopieren Sie die Datei in windows keinen Effekt hat. Windows nicht auch hat ein executable-flag, aber man sollte Sie nicht mit ihm hantieren, obwohl. Ändern Sie Ihre desktop-Einstellungen, und diejenigen, die nicht verschoben werden kann, um windows, und Sie wird nicht möchten.
Und wenn Sie die richtigen Einstellungen in Ihrem DE, Sie brauche nicht zu sagen, Netbeans oder jedes andere IDE wiederholt, was zu tun ist, um jar-Dateien.
Ich gegangen durch Internet und stieß ich auf einen Artikel mit dem vollständigen Schritte zum ausführen der jar-Datei
http://mlartist.blogspot.in/2012/07/deployment-netbeans-project-in-linux.html
Jar-Dateien sind im Grunde eine zip-Datei, eine ausführbare Datei erstellen, haben Sie mehrere verschiedene Methoden. Das Beste (meiner Meinung nach) ist die Verwendung von ant zu erstellen. Oder Sie können einfach
echo "Main-Class: YOUR.MAIN.CLASS" >> Manifest
und dann erstellen Sie Ihr Glas, indemjar -cmf Manifest JARFILENAME.jar INPUTFILES
dann, um es lauffähig unter linux, mit der rechten Maustaste darauf und klicken Sie auf Eigenschaften. Dann klicken Sie auf die Registerkarte Berechtigung und überprüfenexecute
. oder Sie können ein terminal bamf und cd, um die jar-Verzeichnis undchmod +x JARFILE.jar
GLÜCKLICH ÜBER DEN HAUFEN WERFENDEN!!