Ich habe eine Klasse, die in einem Paket namens com.toptur.sysTray sitzt, alles, was es tut, ist System Tray laden es keine externen Pakete verwendet. Ich erstelle ein SysTray-Objekt, um die Taskleiste zu installieren. Alles ist in Ordnung. Ich kann die Anwendung von der Befehlszeile ausführen und Systray wird installiert. Aber wenn ich versuche, ein Jar aus den Klassendateien zu erstellen und es auszuführen, bekomme ich NoClassDefFoundError.NoClassDefFoundError in jar
Paket und seine Klassendateien befinden sich im Jar meiner Anwendung verwendet keine ant externe Gläser. nur Klassen, die von Java bereitgestellt werden.
Und wenn Sie eine .exe-Datei aus dem Jar erstellen, beginnt es wieder ohne Fehler zu arbeiten.
Wie kann ich das aufspüren?
<target name="jar" depends="">
<jar destfile="build/toptur.jar" >
<manifest>
<attribute name="Built-By" value="Toptur"/>
<attribute name="Main-Class" value="gotacan"/>
</manifest>
<fileset dir="build">
<include name="**/*.class"/>
<include name="**/*.png"/>
<exclude name="**/*.jar"/>
</fileset>
</jar>
i erstellen Sie die JAR-Datei von einer Ameise Ziel über Code. Treiberprogramm ist nicht in einem Paket enthalten. seinen Sitz in gotacan.java
ich es mit java -jar laufen toptur.jar
Rest des Programms funktioniert es Ausnahme nur wirft, wenn ich versuchen, dieses Paket zu verwenden.
Wie erstellen Sie Ihre JAR-Datei und wie tun Sie laufen es? – kgiannakakis
Können Sie den gesamten NoClassDefFound Stack-Trace anzeigen? –
heißt Ihre Klasse wirklich "gotacan" mit einem Kleinbuchstaben Anfangsbuchstaben? – Billy