6 Stimmen

Wie man eine exe-Datei in Java erstellt

Hallo, ich möchte eine Exe-Datei für meine Java-App erstellen.

Ich habe versucht, mit einigen Drittanbieter-Softwares JEXECreator, erfolgreich erstellt die exe-Datei und seine Arbeit gut in meinem System, wenn ich mit einem anderen Computer versucht, es ist nicht funktioniert. Ich bekam die folgende Fehlermeldung

    * The error occurred while running the application. The exit code is 0x10000223.
    * Contact the vendor of the application for troubleshooting.

    java.lang.ClassNotFoundException: com.sample.SampleMain
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at com.ucware.JEXEClassLoader.run(Unknown Source)
         at com.ucware.JEXEClassLoader.main(Unknown Source)
    **************************************

Ich weiß, dass mit dem Klassenpfad, den ich festgelegt habe, etwas nicht stimmt.

Eigentlich möchte ich die Exe-Datei selbst erstellen, ohne eine Software eines Drittanbieters zu verwenden.

Ich habe die Schritte auf vielen Websites gefunden

Erstellen der Manifestdatei mit dem Namen Sample.mft mit folgendem Inhalt

         Manifest-Version: 1.0
         Main-Class: 
         Class-path:

Daran habe ich einige Zweifel,

  1. Wie die Main-Class hinzugefügt werden soll, mit dem vollständigen Paketnamen (com.sample.SampleMain) oder dem Klassennamen allein (SampleMain) oder mit der Erweiterung (SampleMain.class)

  2. Wie der Klassenpfad hinzugefügt werden sollte, habe ich 4 Java-Klassen und 2 Jars in meinem Projekt. Wie füge ich all diese in den Klassenpfad ein, und muss ich das Java JDK im Klassenpfad hinzufügen?

  3. Wo die Manifestdatei gespeichert werden soll

  4. Welche Dateierweiterung sollte das Manifest haben (mf oder mft)?

  5. In der Eingabeaufforderung, aus welchem Verzeichnis ich die exe-Datei erstellen sollte (aus meinem Projektordner oder src-Ordner oder dem Ordner, der alle Java-Klassen enthält)

  6. Welche Syntax sollte beim Erstellen von jar in der Eingabeaufforderung verwendet werden?

(jar cmf Sample.mf Sample.jar Sample1.class Sample2.class Sample3.class Sample4.class jar1.jar jar2.jar) wie hier oder (jar cvfm Sample.jar sample.mf *.class)

Wenn ich so etwas getan habe, erhalte ich eine Jar- statt einer Exe-Datei. Wenn ich die Jar-Datei in der Eingabeaufforderung mit "java -jar sample.jar" ausführe, erhalte ich die Ausnahme "Klasse nicht gefunden".

Eigentlich, wie eine exe-Datei anstelle von jar-Datei zu erstellen, das heißt, nur durch einen Doppelklick auf die exe-Datei, sollte meine App in jeder Maschine laufen.

Kann mir jemand helfen, dies zu tun?

Vielen Dank im Voraus.

0voto

Shane Punkte 198

Um eine Exe-Datei zu erstellen, verwende ich launch4j. Launch4j wandelt die jar-Datei in eine exe-Datei um, und wenn ich sie für das Installationsprogramm packen will, verwende ich InnoSetup. Für mich funktioniert die von launch4j erstellte exe-Datei auf PCs.

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