40 Stimmen

Paketierung von Java-Anwendungen für den Windows/Linux-Desktop

Ich schreibe eine Anwendung in Java für den Desktop und verwende die Eclipse SWT-Bibliothek für das GUI-Rendering. Ich denke, dass SWT Java dabei hilft, die größte Hürde für die Akzeptanz auf dem Desktop zu überwinden: nämlich eine Java-Anwendung mit einer konsistenten, reaktionsschnellen Oberfläche zu versehen, die so aussieht wie die jeder anderen Anwendung auf Ihrem Desktop. Ich bin jedoch der Meinung, dass die Verpackung einer Anwendung immer noch ein Problem darstellt.

OS X bietet von Haus aus einen einfachen Mechanismus, um Java-Anwendungen in native Anwendungspakete zu verpacken, aber die Erstellung einer Anwendung für Windows/Linux, bei der der Benutzer keine hässliche Batch-Datei ausführen oder auf eine .jar-Datei klicken muss, ist immer noch mühsam. Möglicherweise ist das unter Linux kein so großes Problem, da der Benutzer dort wahrscheinlich etwas technisch versierter ist, aber unter Windows hätte ich gerne eine normale .exe-Datei, die er/sie ausführen kann.

Hat jemand irgendwelche Erfahrungen mit einem der .exe-Generierungstools für Java, die es da draußen gibt? Ich habe JSmooth ausprobiert, hatte aber verschiedene Probleme damit. Gibt es eine bessere Lösung, bevor ich knacken aus Visual Studio und rollen meine eigenen?

Bearbeiten: Ich sollte vielleicht erwähnen, dass ich nicht in der Lage bin, viel Geld für eine kommerzielle Lösung auszugeben.

1 Stimmen

Bitte führen Sie die Probleme auf, die Sie mit JSmooth hatten.

3voto

Heath Borders Punkte 29263

Erwägen Sie die Umwandlung Ihrer Anwendung in Eclipse RCP . Sie ist geschrieben in SWT und die Eclipse IDE enthält Paketierungswerkzeuge, die ausführbare Dateien für alle wichtigen Plattformen erzeugen. Für Windows kann eine Zip-Datei oder ein Ordner mit Ihrem Code erstellt werden. Für eine allgemeine Installationserfahrung würde ich NSIS verwenden. Es gibt sogar eine Paketgenerator Projekt bei eclipse, um gemeinsame Installationsprogramme für alle von eclipse unterstützten Plattformen zu erstellen.

0 Stimmen

Ich habe die Eclipse RCP in Erwägung gezogen, aber sie ist für mein Projekt, das ein leichtgewichtiges Desktop-Blog-Posting-Tool sein soll, zu schwer.

0 Stimmen

Eclipse RCP ist nicht so groß. Wenn Sie nur die notwendigen Klassen für eine grundlegende Benutzeroberfläche behalten und Ihre Projekte nur von org.eclipse.runtime.core und org.eclipse.ui abhängig machen, sind Sie unter 8 MB und erhalten eine schöne Plattform, die es Ihnen ermöglicht, Ihre Abhängigkeiten zu verwalten.

2voto

Jason Day Punkte 8719

Haben Sie darüber nachgedacht Java Web Start ? Hier ist ein Tutorium speziell für die Bereitstellung einer SWT-Anwendung mit Java Web Start.

1voto

basszero Punkte 29038

Install4J . Nicht kostenlos, aber es lohnt sich. Probieren Sie es aus

0 Stimmen

Install4j leistet gute Arbeit bei der Erstellung vollständig nativer .exe-Installationsprogramme für Windows (es unterstützt auch andere Zielplattformen). Außerdem ist es eine großartige Option speziell für die Bereitstellung von Java Software. Mehr Details über meine Erfahrungen mit ihr: stackoverflow.com/questions/759855/ Es handelt sich jedoch um ein kommerzielles Tool, das für den ursprünglichen Fragesteller vielleicht nicht optimal geeignet ist.

1voto

Mafro34 Punkte 500

Sie können dies jetzt über Netbeans tun! Es ist wirklich einfach und funktioniert perfekt. Ausprobieren ce Tutorial auf der Netbeans-Website.

0voto

Richboy Punkte 11

Haben Sie den Advanced Installer in Betracht gezogen?

Ich habe es mehrfach verwendet, insbesondere für Windows und Mac. Kein Skripting oder Ant erforderlich. Alles GUI. Sehr einfach und verständlich. Ist nicht kostenlos, aber jeden Cent wert.

- Lauch als Administrator
- Dateivereinigung
- Benutzerdefinierte Installationsthemen + integrierte Themen
- Paket mit JRE
- Installationsort
- Native Splash-Screen-Implementierung
- Sie können Dienste und Installationsereignisse als Ereignis erstellen
- Voraussetzungen
- JRE-Minimalversion und -Maximalversion

Und noch viel mehr. Und versteh das nicht falsch, ich habe keine Verbindungen zu den Jungs... ihre App ist einfach großartig.

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