View Full Version : 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
Hallo,
hier ein Link:
http://publib.boulder.ibm.com/iseries/v5r2/ic2924/index.htm?info/rzaha/debugpro.htm
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
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]
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]
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
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
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);
:
:
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);
:
:
ups
versteh gar nicht's mehr !!!
wo bekomme ich die Tools den her,
was muß ich installieren und vorallem wie?