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,
-
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)
-
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?
-
Wo die Manifestdatei gespeichert werden soll
-
Welche Dateierweiterung sollte das Manifest haben (mf oder mft)?
-
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)
-
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.