-
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,
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 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
-
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
 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/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
 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
-
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
 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);
:
:
-
ups
versteh gar nicht's mehr !!!
wo bekomme ich die Tools den her,
was muß ich installieren und vorallem wie?
-
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 von muadeep
ups
versteh gar nicht's mehr !!!
wo bekomme ich die Tools den her,
was muß ich installieren und vorallem wie?
-
@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
-
By TARASIK in forum IBM i Hauptforum
Antworten: 21
Letzter Beitrag: 30-03-11, 13:48
-
By Vicky-B in forum NEWSboard Java
Antworten: 17
Letzter Beitrag: 06-05-08, 11:05
-
By Muchi in forum NEWSboard Java
Antworten: 2
Letzter Beitrag: 07-11-06, 11:00
-
By woki in forum NEWSboard Java
Antworten: 3
Letzter Beitrag: 06-06-06, 15:57
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks