• ClassNotFoundException when installing OSGI plugins

    By Rob Porter 5 years ago

    My dev server has just been upgraded to Domino 9.0.1 so I downloaded the latest release of the extlib (9.0.1.v00_07_20140619-1400) and imported it into my updatesite1.nsf database. I have disabled all other plugins (including the bootstrap plugin) but I get the following error:

    30/06/2014 10:51:23 HTTP JVM: at java.lang.ClassLoader.loadClass(ClassLoader.java:643)
    30/06/2014 10:51:23 HTTP JVM: at com.ibm.domino.http.bootstrap.BootstrapClassLoader.findClass(BootstrapClassLoader.java:79)
    30/06/2014 10:51:23 HTTP JVM: Caused by:
    30/06/2014 10:51:23 HTTP JVM: java.lang.ClassNotFoundException: Cannot load “com.ibm.domino.xsp.adapter.osgi.OSGIService” because the bundle “update@../../shared/eclipse/plugins/com.ibm.domino.xsp.adapter.osgi_9.0.1.20131004-1200.jar” cannot be resolved.

    I'm at a complete loss what to do to fix this. I don't know why the server is trying to load the bootstrap plugin when I've disabled it (…perhaps this version of the extlib includes bootstrap?).

    Can anyone throw some light on this?



    • By Rob Porter 5 years ago

      I just realised the administrator installed FP1 on the Domino server. I don't know it that has anything to do with the issue.

      • By B Gleeson 5 years ago

        That plugin is not part of the ExtLib, so it is more likely to be an issue with the FP1 installation.

        In the server console, try the command: tell http osgi ss com.ibm.domino.xsp.adapter.osgi.
        The output should be like:

        12:22:09   Framework is launched.
        12:22:09   id       State       Bundle
        12:22:09   155      RESOLVED    com.ibm.domino.xsp.adapter.osgi_9.0.1.20131004-1200

        Also try the command: tell http osgi diag com.ibm.domino.xsp.adapter.osgi.
        The output should be like:

        12:23:41   update@../../shared/eclipse/plugins/com.ibm.domino.xsp.adapter.osgi_9.0.1.20131004-1200.jar [155]
        12:23:41     No unresolved constraints.
        • By Rob Porter 5 years ago

          Thanks for the reply.
          Neither of those commands results in any output. The console stays blank. I typed ~show tasks~ to make sure HTTP was running, which it was, but there was still no output from the two “tell http osgi…..” commands.

          I think I'll ask the admin guy to reinstall FP1. Do you think that will sort out the problem?

          • By B Gleeson 5 years ago

            I found a logged issue when upgrading from 8.5.2 to 9.0.1FP1. What was your upgrade scenario?
            The workaround suggestion is to “Delete left over OSGI plugin files and reinstall the server.” There may have been left-over plugins from the previous install, so if there are any duplicates it would be best to delete the old ones.

            It definitely sounds like an installation issue with the upgrade

            • By Rob Porter 5 years ago

              The problem was caused by trying to do the old trick of installing a new server then copying the data directory and notes.ini from the old server over the top of the fresh install. What we hadn't thought about was that this would bring back all the old 8.5.3 files in the workspace directory. We did it this way because we also upgraded the server's operating system from Win 2003 to 2008 64 bit and therefore could not do an “in-place” Domino upgrade.

              To fix the problem we reinstalled 9.0.1 (uninstall/reinstall) and only copied the NSFs we needed from the old data directory to the new one (this included names.nsf of course).

              It seems so obvious in retrospect that just replacing the new data directory with the old one would cause problems. There are loads of java files that were wiped out by us simply replacing the whole data directory.

              Oh well, you live and learn! :)

              Thanks for your help. It was very useful to learn of the “tell http osgi” commands.

              • By B Gleeson 5 years ago

                No problem, glad to hear it's been resolved