PDA

View Full Version : java debug'n



Seiten : [1] 2

muadeep
23-02-05, 09:19
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

TARASIK
23-02-05, 10:03
Hallo,
hier ein Link:

http://publib.boulder.ibm.com/iseries/v5r2/ic2924/index.htm?info/rzaha/debugpro.htm

BenderD
23-02-05, 10:11
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


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

muadeep
23-02-05, 10:23
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/String;)V+4 (Throwable.java:85)
java/lang/Error.<init>(Ljava/lang/String;)V+1 (Error.java:41)
java/lang/NoClassDefFoundError.<init>(Ljava/lang/String;)V+1 (NoClassDefFoundError.java:38) [U]

BenderD
23-02-05, 10:50
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


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/String;)V+4 (Throwable.java:85)
java/lang/Error.<init>(Ljava/lang/String;)V+1 (Error.java:41)
java/lang/NoClassDefFoundError.<init>(Ljava/lang/String;)V+1 (NoClassDefFoundError.java:38) [U]

muadeep
23-02-05, 11:09
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

BenderD
23-02-05, 11:31
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


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

muadeep
23-02-05, 11:46
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);
:
:

BenderD
23-02-05, 12:03
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


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);
:
:

muadeep
23-02-05, 12:38
ups

versteh gar nicht's mehr !!!

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