Das Notes Forum
Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: dirk_2909 am 03.06.05 - 12:45:10
-
Hallo
schon mal vorab:
Ich habe (noch) nicht viel Erfahrung mit Java.
Mein Problem:
Ich will einen Agenten schreiben, der auf einige SAP-BAPI-Bausteine zugreift.
Das ist soweit OK. Habe da Beispiel-Agenten die ich angepasst haben und funktionieren.
Jetzt erstelle ich einen ganz neuen Agenten.
Beim Speichern/Kompilieren bekomme ich folgende Meldung:
JavaAgent.java 12: Package com.sap.mw.jco not found in import >:(
Jetzt meine Frage(n):
Wo bekomme ich das Package her? (kein SAP-Login)
Wie installiere ich es meinen Rechner?
Wie binde ich das Package korrekt ein?
Danke für jede Hilfe!
Dirk
-
1. Frage: Läuft der neue Agent auf der gleichen Notes-Umgebung (Client o. Server beachten) oder in einer anderen Umgebung.
Wenn 1. == ja, dann würde ich mal auf den Edit Project Button von einem bestehenden Java Agenten klicken. Dort könnte dann ein .jar File eingehängt sein.
Dieses Exportieren und in den neuen Agenten importieren.
Du kannst jar files mit Winzip öffnen, um nachzuschauen, welche Klassen da drin sind.
nur eine Idee
Axel
-
Hallo
Habe Deine "Idee" umgesetzt. Habe das JAR-File mit WinZip geöffnet.
Folgende Ordner sind vorhanden ;D :
com\sap\mw\jco\*.class
com\sap\mw\jco\rfc
com\sap\mw\jco\util
Was soll ich nun damit machen? :-:
Der Agent soll zunächst mal in der selben Umgebung laufen.
Später aber in einer Anderen.
Ich will den bestehenden Agenten neu schreiben, um ihn ein wenig aufzuräumen ;) :-\
Dirk
-
@Axel
Ich habe jetzt das neue Projekt bearbeitet und die vorher exportierte Datei JCO.jar dem Projekt hinzugefügt.
Jetzt klappt das Kompiliieren ;D
Danke
Aber.....
...das ist ja nicht "die" Lösung?!
Wie und wo muss man den generell die Packages installieren etc.
Habe keine gescheite Beschreibung für "Anfänger gefunden.
Dirk
-
Du kannst das auf 2 Wege global setzen (für Domino6)
1. Suche in der Hilfe nach JavaUserClasses. Dort dürfte das beschrieben sein. Wenn nicht, frag nach.
2. Im Notes-Programm Verzeichnis existiert ein Ordner \jvm\lib\ext. Da das jar reinkopieren, aus den Agenten rauslöschen und Server bzw. Client neu starten.
Wenn du es kompiliert bekommt klappt es.
Mit diesen Lösungen kannst du immer nur 1 Version der JCO.jar benutzen, da die Java Virtual Maschine immer die Klassen nimmt, die in einer niedrigeren Stufe des Class-Loading liegen.
Die in dem Agenten angehängten liegen ganz oben.
Classloading läuft in mehreren Ebenen.
1. Bootstrap (die normalen Sun Klassen)
2. jvm\lib\ext
3. Eintrag JavaUserClasses
4. die im Agenten angehängten.
Du könntest Probleme bekommen, wenn ihr aus irgendwelchen Gründen 2 verschiedene Versionen von JCO.jar benutzen musst.
Hier sind merkwürdige bugs im Kontext von jars in Agenten anhängen berichtet worden. Offenbar haben von diesen Klassen generierten Objekte einen begrenzteren Speicher zur Verfügung als die über lib\ext oder JavaUserClasses eingebundenen, was echt merkwürdig ist.
Gruß Axel
-
:( Habe mich wohl zu früh gefreut >:(
Wenn ich jetzt auf ein Objekt der Klasse zugreifen will o.ä., bekomme ich eine Fehlermeldung.
Beispiel :
Codezeile: JCO.Client clientSAP = null;
fehler: Class JCO.Client not found.
Da bin ich wieder bei meinem Anfangsproblem! Oder?
Dirk
-
@Axel
werde ich sofort ausprobieren!
Dirk
-
Hallo Dirk,
bist du sicher, dass die Klasse JCO.Client heisst.
Das ist ein sehr ungewöhnlicher Name.
Java ist case-sensitiv. jco.Client wäre ein bischen klarer.
Ausserdem musst du immer den vollqualifizierten Namen benutzen.
Wenn die Klasse sich in dem Zip in com\sap\mw\jco\ befindet, musst du die erst einmal importieren:
import com.sap.mw.jco.Client;
Es geht auch import com.sap.mw.jco.*;
Dann hast du alle Klassen.
Falls du mit einer IDE arbeiten würdest (z.B. Eclipse) würd die sich um das importieren kümmern, was ziemlich praktisch ist.
Axel
-
Hi Axel,
Habe jetzt die Datei JCO.jar in den Ordner \jvm\lib\ext verschoben und aud dem Projekt/Agenten entfernt.
Und es klappt ;D. (Ich freu mich mal lieber nicht zu früh!)
Die Klasse heißt tatsächlich JCO. Wenn ich mit jco darauf zugreife funktioniert es nicht!
Frag nicht warum!
Ich muss mich mal langsam (besser: schnell) die Zusammenhänge kapieren.
Ist nur momentan schlecht wegen der Zeit.
Mit Famile + Nachwuchs + VIEL Arbeit belibt nicht viel Zeit für Weiterbildung >:(
Habe mir Eclipse runtergeladen und installiert (schon in der letzten Woche).
Jetzt muss ich nur sehen, wie ich Projekte erstelle, um z.b. Agenten zu schreiben etc.
Werde mich mal durcharbeiten.
Danke Axel
P.S.: wenn ich Probleme habe, weiß ich ja an wen ich mich wenden muss ^-^
-
http://www-106.ibm.com/developerworks/lotus/library/notes-eclipse/?ca=dgr-eclipsw02clipseNotesJavaAgents
-
:D Danke
Das hilft weiter .....ganz weit ;D