Classpathproblem AIX sapjco3

Franz Degenhardt

Erfahrenes Mitglied
Hallo,

ich habe ein Problem eine Javaanwendung auf AIX zu portieren.
Das Programm verwendet sapjco3. Den [zensiert] dll-Hack um das Zeug überhaupt auf Windows ans laufen zu bekommen habe ich hinter mir (ddl manifeste fixen).
Unter windows läuft das Programm.

Auf AIX gibt es nun ein seltsames Verhalten.
Ich habe ein bundled 1.5.0 jre für aix ppc64 V5.3. Dieses gibt sich mittels java -version auch als solches aus.

Ein Test, ob die jco runtime inklusive nativer bibliotheken geladen werden kann ist, das sapjco3.jar direkt auszuführen. Dieses gibt dann Pfade zu nativen Bibliotkeken aus. Der Test funktioniert, auch wenn X11 fehlschlägt. Die nativen Bibliotheken und das jar werden geladen.

Starte ich nun mein Javaprogramm, welches im Manifest einen class-path hat, welcher das sapjco3.jar bewusst nicht enthält, damit die jars des Systems verwendet werden, kommt eine ClassNotFoundException für DestinationDataProvider, eine Klasse aus sapjco3.jar.

Diverse Kniffe habe ich schon getestet:
CLASSPATH enthält einen Eintrag /usr/sapjco/sapjco3.jar
LIBPATH enthält einen Eintrag /usr/sapjco/sapjco3.so
der Benutzer mit dem ich das javaprogramm starte hat +x auf der Datei
-cp sapjco3.jar ändert auch nichts

Meine Kommandozeilen siehen so aus, alle enden mit ClassNotFoundException:
Code:
/usr/opt/jre1.5/bin/java -jar /usr/sapmq/SapMQ.jar programmOption1 programmOption2 
/usr/opt/jre1.5/bin/java -cp /usr/sapjco/sapjco3.jar -jar /usr/sapmq/SapMQ.jar programmOption1 programmOption2 
/usr/opt/jre1.5/bin/java -d64 -cp /usr/sapjco/sapjco3.jar -jar /usr/sapmq/SapMQ.jar programmOption1 programmOption2

Ich vermute ich habe alles getan, dass das sapjco3.jar zur Laufzeit gefunden wird und das Problem ergibt sich aus anderen Konstellationen. Hat da wer eine Idee zu?
 
Hallo,

die Jungs vom SAP-Support haben eine andere jvm empfohlen. Nach Installation der jvm funktionierten alle Varianten der Kommandozeile.
 
Zurück