tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
892
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Franz Degenhardt
    Franz Degenhardt Franz Degenhardt ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Köln
    Beiträge
    378
    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 :
    1
    2
    3
    
    /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?
     
    Denken gefärdet die Gewohnheit

  2. #2
    Avatar von youza
    youza youza ist offline Mitglied Bronze
    Registriert seit
    Sep 2007
    Ort
    Ehekirchen
    Beiträge
    42
    Hast du schon mal geschaut was passiert wenn du die Jar in dein Programm aufnimmst:
    http://www.tutorials.de/forum/java/3...ei-finden.html
     

  3. #3
    Avatar von Franz Degenhardt
    Franz Degenhardt Franz Degenhardt ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Köln
    Beiträge
    378
    Du meinst ein fatjar zu bauen? Das habe ich noch nicht getestet. Das mache ich einfach mal.
     
    Denken gefärdet die Gewohnheit

  4. #4
    Avatar von Franz Degenhardt
    Franz Degenhardt Franz Degenhardt ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Köln
    Beiträge
    378
    Hallo,

    die Jungs vom SAP-Support haben eine andere jvm empfohlen. Nach Installation der jvm funktionierten alle Varianten der Kommandozeile.
     
    Denken gefärdet die Gewohnheit