PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Java]ClassNotFoundException trotz gesetztem CLASSPATH?


Gast
2007-04-30, 14:44:56
Hi Leute,

Ich benutze in einem Swing-Programm die Klasse TableLayout. Das hat auch bisher immer gut funktioniert, solange ich das Programm von Eclipse aus gestartet habe. Jetzt wollte ich es mal von der Kommandozeile aus starten, dabei erhalte ich aber eine ClassNotFoundException, und das obwohl die CLASSPATH-Variable auf das Verzeichnis des TableLayout jar-Files (/usr/share/java) gesetzt ist. Anhand der Fehlermeldung kann man auch erkennen, daß tatsächlich in diesem Verzeichnis gesucht wird:

Caused by: java.lang.ClassNotFoundException: info.clearthought.layout.TableLayout not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./,file:/usr/share/java/]

Woran kann das liegen, daß die Klasse trotzdem nicht gefunden wird?

Gast
2007-04-30, 15:10:04
hm, kann es sein, daß man nicht nur den Pfad angeben muß, sondern auch das jar-File selbst? Aber es kann doch nicht sein, daß man sämtliche jar-Files, die man mal irgendwann brauchen könnte, in den CLASSPATH eintragen muß?

Gast
2007-04-30, 15:32:50
Jetzt, nach Eintragen der jar-Files in den CLASSPATH, erhalte ich stattdessen die Fehlermeldung:

Caused by: java.lang.UnsatisfiedLinkError: libgtkpeer: libgtkpeer.so: cannot open shared object file: No such file or directory

eine systemweite Suche ergab, daß die libgtkpeer.so auf meinem Rechner offenbar gar nicht vorhanden ist. Echt erstaunlich wie Eclipse dann überhaupt das Programm starten konnte.

Shink
2007-05-02, 08:57:54
Nun ja; offensichtlich verwendest du GCJ als JRE (Fedora Core?), da kommt es schon öfter mal vor dass Swing-Software sich kompilieren lässt, aber in bestimmten Konstellationen nicht lauffähig ist. Ich würde mir da nicht allzuviele graue Haare wachsen lassen und das JDK von Sun verwenden.