When you develop and run plugins for Sametime 7.5 on Windows or Linux you do not use a standard Java Development Kit (JDK) and standard 1.4.2 JVM. Instead you use a slightly modified version called the JCL Desktop JDK and the J9 JVM. The “slightly modified” means that some features have been removed from the JDK to make it “safe” for the Expeditor framework that Sametime 7.5 runs on.
An unfortunate side-effect of this decision is that you cannot use the Notes/Domino API (that is notes.jar or ncso.jar) without resorting to additional libraries. The reason is that the ever present lotus.domino.NotesException inherits from org.omg.CORBA.UserException which is an exception class that has been removed in the modified runtime class library (for more information about lotus.domino.NotesException see my post called Java in Notes/Domino Explained: NotesException).
Fortunately there is a way to remedy that. The solution is to include the ibmorbapi.jar library (can be found in c:Program FilesNotes7Datadominojava on my laptop) in your plugin alongside notes.jar or ncso.jar. The ibmorbapi.jar library is quite large (around 400kb) but I haven’t yet played around with it to see if you could simply get away with including the org.omg-packages.
Now you know why your plugin fails to compile due to indirectly referenced Corba classes.
Anyways – someone who has the ears of the Sametime development team might want to mention this to them. Apart from that – great product and its a joy to develop plugins for Sametime 7.5! 🙂
Hello,
I’m starting to develop plugins in order to deploy them in Sametime Client.
I have started it from the article “Creating an RSS feed plug-in for IBM Lotus Sametime Connect”.
I have downloaded ST_SDK and I have configured the Eclipse Environment as the Configuration document says. I have run some compiled examples from ST_SDK in the ST client and everything went well.
In that moment I was ready to take the example of the Aus Open in order to deploy it.
I create the plugin project and I have tried to compile it, but its imposible. There are a pair of classes that are not contained in the .jar, so I cannot use it.
I have downloaded the compiled example and I have installed it in my ST. It works!.
I’m surprised about the fact that the example doesn’t works, but it doesn’t matter, I will try to complete the example.
Regards
Joaquín
LikeLike
Which classes are missing? Could you post a list here or send me an e-mail at lekkim[at]lsdoc.org since I’m a little curious… 🙂
LikeLike
hello again,
I continue working with the plugin and I have decided to develop it by myself.
I would like to request a favour. Is there any documentation about how to develop a plugin?
I mean, the structure of a plug-in, the meaning of the extension point….
Thanks in advance
LikeLike
I would suggest the Articles-section on http://www.eclipse.org where you’ll find tutorials etc. A search on Google should also yield a couple of tutorials.
LikeLike
When I try to use lotus.domino classes in ST7.5.1 I get the following exception
java.lang.NoClassDefFoundError: lotus.domino.Session
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:63)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:124)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1216)
…etc…
LikeLike
apologies – please disregard my last post! I hadn’t configured my classpath & buildpath properly 😦
LikeLike
Good thing I didn’t post my initial response then… 🙂
LikeLike