javaoracle-databaseclassnotfoundexceptionweblogic11goracle-ucm

Exception in thread "main" java.lang.NoClassDefFoundError: oracle/stellent/ridc/IdcClientManager


I have a java class that does an FTP to UCM server. I imported the RIDC extension bundle to JDeveloper and created an RIDC based project. The compilation was successful. When i run the application locally on JDeveloper Integrated Weblogic Server, connection to UCM is established.I deployed this project as a JAR file and this JAR file is being called from a script file in development sever. When running from the server it is giving below error.

Exception in thread "main" java.lang.NoClassDefFoundError: oracle/stellent/ridc/IdcClientManager
        at ukvatboxexp.UKVatBoxExp.search(UKVatBoxExp.java:153)
        at ukvatboxexp.UKVatBoxExp.main(UKVatBoxExp.java:261)
Caused by: java.lang.ClassNotFoundException: oracle.stellent.ridc.IdcClientManager
        at java.net.URLClassLoader$1.run(URLClassLoader.java:223)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:211)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:300)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        ... 2 more

I already added library-name oracle.ucm.ridc.app-lib under Shared Library References in weblogic-application.xml, but no luck.I have the oracle/stellent/ridc/IdcClientManager class file in place.


Solution

  • The issue was not with Weblogic and it was with the Classpath. My application was not able to reach the IdcClientManager class because the classpath was not set. I created a folder 'lib' inside the project folder and referenced the Classpath in Manifest.MF file like given below: Class-Path: lib/commons-codec-1.2.jar lib/commons-httpclient-3.1.jar lib/commons-logging-1.0.4.jar lib/oracle.ucm.ridc-11.1.1.jar

    I also had to have all the jars in a lib folder in the server where my jar file was kept. And this resolved the issue.