PDA

View Full Version : Java Toolbox



KM
01-10-04, 08:56
Hallo,

ich habe mal wieder ein seltsames Java-Problem. Ich habe ein kleines Java-Programm erstellt, das mir einen Bildschirm (AWT) ausgibt und ich dort einen iSeries-Befehl absetzen kann.
Wenn ich das Programm von der iSeries aus aufrufe und über Remote-AWT auf meinem PC laufen lasse (wegen der GUI-Oberfläche), dann funktioniert es wunderbar. Wenn ich es allerdings direkt auf meinem PC aufrufe, erhalte ich folgenden Fehler:

java.lang.NoClassDefFoundError: com/ibm/as400/access/AS400

Die Klasse AS400 steht im Archiv jt400.jar, worauf bei beiden Varianten im Classpath verwiesen wird. Auf dem PC läuft die JRE Version 1.4.2. Auf der iSeries die Version 1.3.1.

Kann es sein, dass es an den unterschiedlichen JREs liegt oder wo könnte das Problem noch sein ?

Gruß,
KM

BenderD
01-10-04, 09:24
Hallo KM

Versionskonflikt dürfte sorum nicht der Fall sein.
Du solltest in jedem Fall mal den Classpath beim Aufruf besetzen und eventuell bringt dir die Option verbose (dann wird er etwas geschwätziger) beim Aufruf entscheidende Infos.
Ansonsten sind die Angaben etwas dünn für mehr als ein Ratespiel.

mfg

Dieter Bender


Hallo,

ich habe mal wieder ein seltsames Java-Problem. Ich habe ein kleines Java-Programm erstellt, das mir einen Bildschirm (AWT) ausgibt und ich dort einen iSeries-Befehl absetzen kann.
Wenn ich das Programm von der iSeries aus aufrufe und über Remote-AWT auf meinem PC laufen lasse (wegen der GUI-Oberfläche), dann funktioniert es wunderbar. Wenn ich es allerdings direkt auf meinem PC aufrufe, erhalte ich folgenden Fehler:

java.lang.NoClassDefFoundError: com/ibm/as400/access/AS400

Die Klasse AS400 steht im Archiv jt400.jar, worauf bei beiden Varianten im Classpath verwiesen wird. Auf dem PC läuft die JRE Version 1.4.2. Auf der iSeries die Version 1.3.1.

Kann es sein, dass es an den unterschiedlichen JREs liegt oder wo könnte das Problem noch sein ?

Gruß,
KM

KM
01-10-04, 10:14
Die direkte Angabe des CLASSPATH hat auch nichts gebracht und verbose hat auch nichts ausgespuckt. Könnte es evtl. sein, dass es daran liegt, dass ich das Programm auf der iSeries unter QSH kompiliere ? Wird dabei vielleicht die Auflösung der Paketnamen anders festgelegt ? Mir ist nämlich aufgefallen, dass in der Fehlermeldung im Package-Pfad Schrägstriche angegeben sind und keine Backslash. Ist das normal ?

Gruß,
KM

BenderD
01-10-04, 10:39
Hallo KM,

an der Erstellung auf der AS kann es nicht liegen, das einzige, was man da falsch machen könnte, ist, dass bei der Übertragung eine Zeichensatzumsetzung stattfinden würde, aber dann ließe sich das Programm nicht starten.
Das mit dem Schlapp/Rückschlapp ist auch normal und Frau Wehrwolf sagt: "das gehört so!"
noClassDefFound sagt eindeutig, dass mit deinem Classpath was faul ist, stelle doch mal deinen Aufruf (mit der Classpath) Option hier ins Forum und überprüfe nochmal genau, ob die jt400.jar auch wirklich da ist, wo du glaubst und ob die ok ist.

mfg

Dieter Bender


Die direkte Angabe des CLASSPATH hat auch nichts gebracht und verbose hat auch nichts ausgespuckt. Könnte es evtl. sein, dass es daran liegt, dass ich das Programm auf der iSeries unter QSH kompiliere ? Wird dabei vielleicht die Auflösung der Paketnamen anders festgelegt ? Mir ist nämlich aufgefallen, dass in der Fehlermeldung im Package-Pfad Schrägstriche angegeben sind und keine Backslash. Ist das normal ?

Gruß,
KM

KM
01-10-04, 12:00
Das Problem hat sich inzwischen erledigt. Ich habe noch ein paar Mal den Classpath geändert. Und jetzt funktioniert's. Obwohl ich diesen Eintrag in einer früherren Einstellung auch schon mal drin hatte und damals nicht funktioniert hatte. Offenbar war es da wohl nochmal eine andere Konstellation.

Trotzdem Danke,

KM