2016-08-30 8 views
0

Ich habe ein Eclipse-Projekt und muss es als eigenständige Java-Anwendung exportieren, die mindestens unter Windows ausgeführt wird. Dabei wird eine eigene JRE verwendet (andere Funktionen wie Begrüßungsbildschirm, Anwendungssymbol) etc...).So erstellen Sie eine Java Standalone-Anwendung

Ich verwendet, um eine ausführbare JAR-Datei aus Eclipse zu erstellen, wählen Sie die Extrahieren Sie erforderliche Bibliotheken in generierte JAR Option. Dann verwende ich ein plattformübergreifendes Werkzeug, um das JAR in leichtgewichtigen Windows-Native-Executables (.exe) zu verpacken. Mit diesem Tool kann ich die zu verwendende JRE, den Begrüßungsbildschirm während des Ladens der Anwendung, das zu verwendende Symbol, einige Produktinformationen etc. festlegen.

Das Problem ist, dass bei sehr großen und komplexen Projekten Das bezieht sich auf viele Bibliotheken, auch wenn ich die Anwendung innerhalb von Eclipse kompilieren und ausführen kann. Wenn ich die JAR-Datei erstelle, dauert es ewig, bis sie geladen wird (und es ist noch schlimmer mit der endgültigen EXE-Datei).

Da ich kein IT-Experte bin und daher diese Themen nicht sehr gut kenne, möchte ich fragen, ob es andere/bessere Möglichkeiten gibt, zu liefernde Anwendungen zu erstellen, ohne die Vorteile einer EXE-Datei zu verlieren (besonders ) Ich muss eine private JRE einbetten und dem Produkt ein Symbol zuweisen.

+2

Wenn Sie große Projekte mit vielen Abhängigkeiten haben, würde ich empfehlen, ein Build-Tool wie Gradle oder Maven zu verwenden, um den Bauprozess zu bewältigen. Siehe diesen Link über die Bündelung einer Jar-Datei mit Gradle: https://www.mkyong.com/gradle/gradle-create-a-jar-file-with-dependencies/ – qantik

+0

Wie lange ist "für immer" auf moderner Hardware ? – Henry

+0

(1) Überprüfen Sie die verwendeten Speicheroptionen '-Xmx'. (2) Das Profilieren der Anwendung zur Suche nach Flaschenhälsen tut nie weh. (3) Verwenden Sie FindBugs oder solche, um einen Gesundheitscheck zu geben. In diesem Fall für Speicherlecks und damit verbundene Leistungsprobleme. –

Antwort

1

Ich schlage vor, Sie Maven oder Gradle zu verwenden, um Ihre Anwendung anstelle von Eclipse zu bauen. Sie werden ein besseres Abhängigkeitsmanagement haben.

Außerdem sollten Sie Launch4J verwenden, um einen Windows Exe-Laucher für Ihre Anwendung zu erstellen. Es enthält eine eingebettete JRE, sodass Ihre Anwendung eigenständig ausgeführt werden kann.

+0

Launch4J ist das Werkzeug, das ich derzeit zum Einwickeln der Gläser verwende, aber es erstellt sehr langsam zu öffnen .exe-Anwendungen (im Vergleich Ich werde Maven und Gradle einen Blick darauf werfen, ob sie Ihnen helfen können, vielen Dank für den Hinweis: Kann ich existierende Projekte wie in Eclipse importieren? – Roberto

Verwandte Themen