[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2009
    Beiträge
    53

    Runtime.getRuntime().exec() mit verschiedenen Java-Versionen

    moin,

    per
    Code:
    Runtime.getRuntime().exec(command);
    läuft der Aufruf mit der Java-Version aus /QIBM/ProdData/Java400/jdk6 ohne Probleme, jedoch mit der /QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit bzw. auch 64bit Version erhalte ich folgende Fehlermeldung:

    java.io.IOException: Cannot run program "myprogram": myprogram: not found
    at java.lang.ProcessBuilder.start(ProcessBuilder.java :460)
    at java.lang.Runtime.exec(Runtime.java:605)
    at java.lang.Runtime.exec(Runtime.java:443)
    at java.lang.Runtime.exec(Runtime.java:340)
    ...
    at java.lang.Thread.run(Thread.java:736)
    Caused by: java.io.IOException: myprogram: not found
    at java.lang.ISERIESProcess.fullPath(ISERIESProcess.j ava:371)
    at java.lang.ISERIESProcess.<init>(ISERIESProcess.jav a:161)
    at java.lang.ProcessImpl.start(ProcessImpl.java:94)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java :453)
    ... 8 more


    Die Umgebungsvariablen sind vor dem Aufruf vom Java-Programm gesetzt worden und ein
    Code:
    System.getProperty("PATH")
    gibt die richtigen Pfad-Angaben zurück.

    Warum ist da ein Unterschied?
    Was muss anders gemacht werden?

    Danke + Gruß
    Max

  2. #2
    Registriert seit
    Oct 2007
    Beiträge
    7
    Wie sieht denn "command" genau aus?

    Gruß
    RT

  3. #3
    Registriert seit
    Mar 2009
    Beiträge
    53
    moin,

    der command ist:
    Code:
    lpoptions -d prt01
    gruß+danke
    max

  4. #4
    Registriert seit
    Oct 2007
    Beiträge
    7
    Ich nehme an es handelt sich um ein Shell-Script.
    Ist denn dort das Executable-Bit gesetzt? Mit "ls -l lpoptions" prüfen.
    Falls nicht gesetzt mit "chmod +x lpoptions" setzen und den Aufruf nochmals testen.

    Gruß
    RT

  5. #5
    Registriert seit
    Mar 2009
    Beiträge
    53
    moin,
    die Attribute sind richtig gesetzt.
    Und mit der /QIBM/ProdData/Java400/jdk6 Version läuft es ja auch.

    Hast du noch weitere Vorschläge?

    Danke+Gruß
    max

  6. #6
    Registriert seit
    Oct 2007
    Beiträge
    7
    Es wäre interessant zu wissen ob das Shell-Script schon nicht gefunden wird (warum dann myprogram?) oder die Folgeverarbeitung innerhalb des Scriptes den Fehler wirft.
    Dazu würde ich im Script ein "echo ich bin drin" probehalber setzen. (Natürlich nach vorher wegkopieren und so...)

    Wird denn das command "lpoptions -d prt01" in Java direkt per Zuweisung gesetzt oder werden da irgendwelche konfigurationsabhängige Kurven geflogen? Die Frage deshalb, da das "myprogram" nach etwas nicht initialisiertem klingt.

    Gruß
    RT

  7. #7
    Registriert seit
    Mar 2009
    Beiträge
    53
    myprogram war nur ein Ersatz für lpoptions weil ich generell die Probleme habe.

    ich werde nochmal schauen wie es aussieht wenn ich den kompletten Pfad zum Programm vorweg stelle, vielleicht hat er ja Probleme damit die Programme über die PATH-variable zu ermitteln.

    ich melde mich dann nochmal dazu.

    gruß max

  8. #8
    Registriert seit
    Mar 2009
    Beiträge
    53
    wie es aussieht hat er Probleme mit der Umgebungsvariable PATH

    ich rufe das ganze jetzt mit /path/to/my/lpoptions auf.

    Damit geht es erstmal.

    Das andere bleibt noch ein Rätsel.

    Gruß Max

Similar Threads

  1. Java und Fehlermeldung jva0122 bei simplen "Hello World"
    By TARASIK in forum IBM i Hauptforum
    Antworten: 21
    Letzter Beitrag: 30-03-11, 13:48
  2. RPG aus Java aufrufen
    By Vicky-B in forum NEWSboard Java
    Antworten: 17
    Letzter Beitrag: 06-05-08, 11:05
  3. Varable SQL mit verschiedenen LIBS
    By steven_r in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 03-01-07, 13:07
  4. Java Version
    By Muchi in forum NEWSboard Java
    Antworten: 2
    Letzter Beitrag: 07-11-06, 11:00
  5. Antworten: 3
    Letzter Beitrag: 06-06-06, 15:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •