[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Thema: java debug'n

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    309

    java debug'n

    kann man eigentlich ein Java Programm, welches in einem
    CL wie folgt aufgerufen wird, debug'n?


    STRQSH CMD(&JAVA)



    &JAVA = JAVA -CLASSPATH /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar:/SplToPdf/itext.jar:. spltopdf /QDLS/CONVERT/ TESCHT 0072 0132
    " nur zum testen " QGPL TMPSPOOL M000000001

    Fals "JA", wie geht das?


    Ich bekomme nämlich immer folgende Fehlermeldung:
    -CLASSPATH: Argument nicht gültig
    Verwendung: java ¬-options| class ¬args...|
    (zum Ausführen einer Klasse)
    oder java -jar ¬-options| jarfile ¬args...|
    (zum Ausführen einer jar-Datei)
    Zu den gültigen Optionen gehören:
    -cp -classpath <Verzeichnisse und zip/jar-Dateien durch Doppelpunkte getrennt>
    Suchpfad für Anwendungsklassen und Ressourcen festlegen
    -D<Name>=<Wert>
    Systemeigenschaft festlegen
    -verbose¬:class!gc!jni|
    Ausgabe im ausführlichen Modus aktivieren
    -version Produktversion drucken und verlassen
    -showversion Produktversion drucken und fortfahren
    -? -help diese Hilfenachricht drucken
    -X Hilfe für vom Standard abweichende Optionen drucken

  2. #2
    Registriert seit
    May 2002
    Beiträge
    2.643

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    dieses jedenfalls nicht, das kommt nämlich garnicht zum laufen, dein CL java command ist nämlich schon verkehrt, wie die Fehlermeldung auch sagt.
    Java ist case sensitive, immer und überall und CLASSPATH ist nicht dasselbe wie classpath und erstere Option gibt es nicht!

    versuchs also mal mit:
    java -classpath ....

    mfg

    Dieter Bender

    Zitat Zitat von muadeep
    kann man eigentlich ein Java Programm, welches in einem
    CL wie folgt aufgerufen wird, debug'n?


    STRQSH CMD(&JAVA)



    &JAVA = JAVA -CLASSPATH /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar:/SplToPdf/itext.jar:. spltopdf /QDLS/CONVERT/ TESCHT 0072 0132
    " nur zum testen " QGPL TMPSPOOL M000000001

    Fals "JA", wie geht das?


    Ich bekomme nämlich immer folgende Fehlermeldung:
    -CLASSPATH: Argument nicht gültig
    Verwendung: java ¬-options| class ¬args...|
    (zum Ausführen einer Klasse)
    oder java -jar ¬-options| jarfile ¬args...|
    (zum Ausführen einer jar-Datei)
    Zu den gültigen Optionen gehören:
    -cp -classpath <Verzeichnisse und zip/jar-Dateien durch Doppelpunkte getrennt>
    Suchpfad für Anwendungsklassen und Ressourcen festlegen
    -D<Name>=<Wert>
    Systemeigenschaft festlegen
    -verbose¬:class!gc!jni|
    Ausgabe im ausführlichen Modus aktivieren
    -version Produktversion drucken und verlassen
    -showversion Produktversion drucken und fortfahren
    -? -help diese Hilfenachricht drucken
    -X Hilfe für vom Standard abweichende Optionen drucken
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    309
    Habe jetzt auf die genau schreibweise geachtet, der
    Befehl sieht jetzt wie folgt aus:

    java -classpath /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar:/SplToPdf/itext.jar:. SplToPdf /QDLS/CONVERT/ TESCHT 0072 0132 " nur zum testen " QGPL TMPSPOOL M000000001

    Bekomme dann aber folgende Fehlermeldung:

    java -classpath /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar:/SplToPdf/itext.jar:. SplToPdf /QDLS/CONVERT/ TESCHT 0072 0132 " nur zum testen " QGPL TMPSPOOL M000000001
    java.lang.NoClassDefFoundError: SplToPdf
    java/lang/Throwable.<init>(Ljava/lang/StringV+4 (Throwable.java:85)
    java/lang/Error.<init>(Ljava/lang/StringV+1 (Error.java:41)
    java/lang/NoClassDefFoundError.<init>(Ljava/lang/StringV+1 (NoClassDefFoundError.java:38) [U]

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    auch da steht wieder genau, was nicht stimmt: die Klasse SplToPdf wird nicht gefunden. Entweder ist die nicht im Classpath, oder heißt in Wirklichkeit anders.

    mfg

    Dieter Bender

    Zitat Zitat von muadeep
    Habe jetzt auf die genau schreibweise geachtet, der
    Befehl sieht jetzt wie folgt aus:

    java -classpath /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar:/SplToPdf/itext.jar:. SplToPdf /QDLS/CONVERT/ TESCHT 0072 0132 " nur zum testen " QGPL TMPSPOOL M000000001

    Bekomme dann aber folgende Fehlermeldung:

    java -classpath /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar:/SplToPdf/itext.jar:. SplToPdf /QDLS/CONVERT/ TESCHT 0072 0132 " nur zum testen " QGPL TMPSPOOL M000000001
    java.lang.NoClassDefFoundError: SplToPdf
    java/lang/Throwable.<init>(Ljava/lang/StringV+4 (Throwable.java:85)
    java/lang/Error.<init>(Ljava/lang/StringV+1 (Error.java:41)
    java/lang/NoClassDefFoundError.<init>(Ljava/lang/StringV+1 (NoClassDefFoundError.java:38) [U]
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    309
    Die "spltopdf" steht im folgenden Verzeichnis: /SplToPdf

    Ist es möglich den Aufruf wie folgt zu definieren:

    &JAVA = JAVA -CLASSPATH /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar:/SplToPdf/itext.jar:. /SplToPdf/spltopdf /QDLS/CONVERT/ TESCHT 0072 0132
    " nur zum testen " QGPL TMPSPOOL M000000001

    oder muß es so lauten:

    &JAVA = JAVA -CLASSPATH /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar:/SplToPdf:/SplToPdf/itext.jar:. spltopdf /QDLS/CONVERT/ TESCHT 0072 0132
    " nur zum testen " QGPL TMPSPOOL M000000001

    bei beiden Möglichkeiten bekomme ich wieder eine Fehlermeldung
    java -classpath /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar:/SplToPdf:/SplToPdf/itext.jar:. spltopdf /QDLS/CONVERT/ TESCHT 007
    2 0132 " nur zum testen " QGPL TMPSPOOL M000000001
    Start Creation of /QDLS/CONVERT/TESCHT.pdf
    Funktion nicht zulässig. /QDLS/CONVERT/TESCHT.pdf

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    also das ist alles ein wenig unpräzise: heißt es nun spltopdf oder SplToPdf, oder am Ende ganz anders? und was spltopdf, oder wie immer das heißen mag, ist und tut, das scheint ja alles außerordentlich geheim zu sein, aber seis drum, die letzten Meldungen scheinen aus deiner ominösen Java Klasse zu kommen, da musst du wohl den Autor von selbiger mal fragen.

    mfg

    Dieter Bender

    Zitat Zitat von muadeep
    Die "spltopdf" steht im folgenden Verzeichnis: /SplToPdf

    Ist es möglich den Aufruf wie folgt zu definieren:

    &JAVA = JAVA -CLASSPATH /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar:/SplToPdf/itext.jar:. /SplToPdf/spltopdf /QDLS/CONVERT/ TESCHT 0072 0132
    " nur zum testen " QGPL TMPSPOOL M000000001

    oder muß es so lauten:

    &JAVA = JAVA -CLASSPATH /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar:/SplToPdf:/SplToPdf/itext.jar:. spltopdf /QDLS/CONVERT/ TESCHT 0072 0132
    " nur zum testen " QGPL TMPSPOOL M000000001

    bei beiden Möglichkeiten bekomme ich wieder eine Fehlermeldung
    java -classpath /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar:/SplToPdf:/SplToPdf/itext.jar:. spltopdf /QDLS/CONVERT/ TESCHT 007
    2 0132 " nur zum testen " QGPL TMPSPOOL M000000001
    Start Creation of /QDLS/CONVERT/TESCHT.pdf
    Funktion nicht zulässig. /QDLS/CONVERT/TESCHT.pdf
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #8
    Registriert seit
    Aug 2001
    Beiträge
    309
    also, die *.class Datei heist: spltopdf.class

    das Verzeichnis in dem diese Datei steht heist: /SplToPdf


    Geheim ist es nicht, war nur "tippfaul"! ;-)

    Mit diesem Java-Programm kann man aus einer SpoolFile eine
    *.pdf Datei (mit z.B. Wasserzeichen) erstellen lassen


    // name: spltopdf.java
    import java.io.*;
    import com.ibm.as400.access.*;

    import com.lowagie.text.*;
    import com.lowagie.text.pdf.PdfWriter;
    import com.lowagie.text.pdf.BaseFont;

    public class spltopdf extends Object{
    public static void main(String parameters){
    if (parameters.length == 8 ){
    try {
    String PDFPATH = parameters[0];
    String PDFNAME = parameters[1];
    String ROWS = parameters[2];
    String COLS = parameters[3];
    String FOOTERcomments = parameters[4];
    String LIBRARY = parameters[5];
    String FILE = parameters[6];
    String MEMBER = parameters[7];

    int RecordLength = Integer.valueOf(COLS).intValue();
    AS400 as400 = new AS400();

    CharacterFieldDescription rFCFC = new CharacterFieldDescription(new AS400Text(1, as400), "rFCFC");
    CharacterFieldDescription rLINE = new CharacterFieldDescription(new AS400Text(RecordLength, as400), "rLINE");
    RecordFormat TmpSpool = new RecordFormat("TmpSpool");

    TmpSpool.addFieldDescription(rFCFC);
    TmpSpool.addFieldDescription(rLINE);
    :
    :

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    in dem Programmstück, das du da gepostet hast, liegt der Fehler nicht; wenn du einmal innerhalb von einem Java Programm bist, dann zwingt dich der Compiler zum Error Handling und gute Praxis ist, dass man in jedem catch Block entsprechende Diagnostics macht. Dazu gibt es auch noch nette Tools wie log4J und commons.logging von Apache, die einem sowas auch noch einfach konfigurierbar machen. Selbstredend kannst du aber jetzt auch versuchen mit dem IBM remote Debugger von WDSC das ganze durchzusteppen, wenn dir das mehr Freude macht - ich ziehe da deutlich den Weg mit dem Logging vor, aber dann musst du erst dein Programm entsprechend überarbeiten.

    mfg

    Dieter Bender

    Zitat Zitat von muadeep
    also, die *.class Datei heist: spltopdf.class

    das Verzeichnis in dem diese Datei steht heist: /SplToPdf


    Geheim ist es nicht, war nur "tippfaul"! ;-)

    Mit diesem Java-Programm kann man aus einer SpoolFile eine
    *.pdf Datei (mit z.B. Wasserzeichen) erstellen lassen


    // name: spltopdf.java
    import java.io.*;
    import com.ibm.as400.access.*;

    import com.lowagie.text.*;
    import com.lowagie.text.pdf.PdfWriter;
    import com.lowagie.text.pdf.BaseFont;

    public class spltopdf extends Object{
    public static void main(String parameters){
    if (parameters.length == 8 ){
    try {
    String PDFPATH = parameters[0];
    String PDFNAME = parameters[1];
    String ROWS = parameters[2];
    String COLS = parameters[3];
    String FOOTERcomments = parameters[4];
    String LIBRARY = parameters[5];
    String FILE = parameters[6];
    String MEMBER = parameters[7];

    int RecordLength = Integer.valueOf(COLS).intValue();
    AS400 as400 = new AS400();

    CharacterFieldDescription rFCFC = new CharacterFieldDescription(new AS400Text(1, as400), "rFCFC");
    CharacterFieldDescription rLINE = new CharacterFieldDescription(new AS400Text(RecordLength, as400), "rLINE");
    RecordFormat TmpSpool = new RecordFormat("TmpSpool");

    TmpSpool.addFieldDescription(rFCFC);
    TmpSpool.addFieldDescription(rLINE);
    :
    :
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Aug 2001
    Beiträge
    309
    ups

    versteh gar nicht's mehr !!!

    wo bekomme ich die Tools den her,
    was muß ich installieren und vorallem wie?

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    http://logging.apache.org/log4j/docs/download.html
    http://jakarta.apache.org/commons/logging/
    aber vielleicht tut es für den Anfang auch
    System.err.println("Hier gings leider nicht: " + error);
    und vielleicht ist das Forum auch nicht der richtige Ort um Java zu lernen und dieser hier besser:
    http://www.boku.ac.at/javaeinf/
    und der hier:
    http://java.sun.com/docs/books/tutor.../download.html

    mfg

    Dieter Bender

    Zitat Zitat von muadeep
    ups

    versteh gar nicht's mehr !!!

    wo bekomme ich die Tools den her,
    was muß ich installieren und vorallem wie?
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  12. #12
    Registriert seit
    Oct 2004
    Beiträge
    251
    @muadeep

    Nochmal von Anfänger zu Anfänger:

    1. Habe ich meinen Spoolconverter eigentlich erst auf die AS/400 übertragen, wie alle Fehler bereinigt waren. Wenn man die Pfade gleich anlegt und die enstprechend DB-Treiber verwendet, kann man das ganze ja am PC austesten, mitsamt der Debughilfe der Entwicklungsumgebung. (bei mir nicht Websphere)

    2. Auch auf der AS/400 kann man debuggen:
    den Klassenpfad mittels WRKENVAR *JOB unter CLASSPATH (ja IBM "denkt" mit, diesmal in Grossbuchstaben)
    in dem Verzeichnis /SplToPdf muss der Source "SplToPdf.java" stehen.
    Das Programm mit RUNJVA CLASS(SplToPdf) OPTION(*DEBUG)

    Man bekommt dann ein Debugmenü

    3. Auf lange Sicht wird man (vor allem bei Batchjobs) um die o.g. Logs nicht herumkommen.

    4. welches iText.jar verwendest du da? Bei mir kommen da keine Meldung "Starting creation...." usw.

    Mir fallen da noch einige Unterschiede auf, weiß aber nicht ob meine Lösungen besser sind.


    LG

    Robert P.

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. Java Version
    By Muchi in forum NEWSboard Java
    Antworten: 2
    Letzter Beitrag: 07-11-06, 11:00
  4. Antworten: 3
    Letzter Beitrag: 06-06-06, 15:57
  5. Java Developer Kit 1.4
    By usafft in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 25-04-06, 07:23

Berechtigungen

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