38 Stimmen

.jar in eine ausführbare OSX-Datei umwandeln?

Ich habe eine Java-Anwendung entwickelt, die ich auf Windows, OSX und Linux verteilen möchte, ohne eine jar-Datei zu verteilen. Ich habe den großartigen Windows-Exe-Wrapper http://launch4j.sourceforge.net/ um eine .exe-Datei mit meinem Symbol zu erstellen, die Windows-Benutzer nicht erschreckt.

Gibt es ähnliche Wrapper, die ich für OSX/Unix verwenden kann? Eine wichtige Überlegung ist, dass ich mein eigenes Symbol auf der ausführbaren Datei haben möchte (insbesondere für Mac-Benutzer).

Danke!

31voto

Michael Aaron Safyan Punkte 90663

Ja, unter Mac OS X gibt es ein Programm namens Krug-Bündler das bei der Installation des kostenlosen Programms installiert wird (vorausgesetzt, Sie besitzen bereits eine Kopie von Mac OS X) Xcode-Entwickler-Tools die es Ihnen ermöglicht, eine JAR-Datei in ein natives Mac OS X "*.app"-Anwendungspaket mit einem schönen und glänzenden Symbol wie andere Anwendungen zu bündeln.

更新情報
Der JAR-Bundler existiert in späteren Versionen von OS X nicht mehr. Als Workaround können Sie manuell ein OS X-Projekt erstellen, das Java aufruft. Es gibt auch eine Reihe von Erweiterungen für das Build-System, die eine ähnliche Funktion haben; zum Beispiel die gradle-macappbundle Plugin für Gradle wird eine solche Wrapper-App erstellen.

9voto

Marco Punkte 413

JarBundler ist veraltet, aber es gibt einen (besseren) offiziellen Ersatz: das javapackager Werkzeug.

Für OSX gibt es hier eine einfache, gut erklärte, schrittweise Anleitung, wie man eine DMG aus Java erstellt: http://centerkey.com/mac/java/ . Für andere Plattformen müssen Sie nur das Beispiel mit den entsprechenden Schaltern in javapackager ändern.

5voto

Thilo Punkte 248982

Wenn Sie keinen Mac haben, auf dem Sie dies bauen können (oder es in eine bestehende Build-Chain integrieren wollen), sollten Sie sich das OS X Anwendungsbündel-Plugin für Maven .

Dadurch wird (wenn es unter Linux oder Windows ausgeführt wird) ein Zip erstellt, das als richtige Mac-Anwendung entpackt werden kann. Wenn Sie Maven auf einem Mac ausführen, kann es auch ein DMG erstellen.

4voto

Xenon Punkte 507

Der Github-Benutzer Jorl17 hat ein ausgezeichnetes Python-Skript namens jar2app erstellt, das dies mit einem einfachen Befehl erledigt. Sie können sogar das App-Symbol anpassen.

https://github.com/Jorl17/jar2app

Installieren Sie es einfach, folgen Sie den Anweisungen, und Sie erhalten die .app-Datei.

3voto

Emmanuel Bourg Punkte 9272

Sie können Ihre Anwendung auch mit dem JarBundler Ant-Task verpacken:

http://informagen.com/JarBundler

<jarbundler dir="release"
        name="MyApp"
        mainclass="org.foo.myapp.Main" 
        jar="myapp.jar" />

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X