Rational Application Developer (RAD) 7.5+ and websphere runtime will not pick up jars from projects
- by Berlin Brown
With RAD Version: 7.5.3, Java 1.5.
I have a couple of different projects. I needed to break out the java code and turn the *.class files into a jar. So basically, same *.class files I just removed the code and then jarred the class files into a jar.
I broke the classes into a jar and then included the jar in the project. And I also did an order/export on the jar so that other projects can see the jar.
At this point, ideally my project should not have changed because I am using class files in a jar instead of the java code.
When I visit my web application in websphere, I get class not found errors on the classes that are now in the jar.
Project Structure:
A. Project earApp -- will need the webapp
B. Project webapp -- will need the project (no jar files or *.java files are found in this project)
C. Project javasrc -- the java source and the NEW JAR file are found here.
I don't think websphere is acknowledging the jar.
Here is the error:
java.lang.NoClassDefFoundError: com.MyApp
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:258)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:675)
at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:614)
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:431)
at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
at java.lang.Class.getDeclaredMethodsImpl(Native Method)
at java.lang.Class.getDeclaredMethods(Class.java:664)
at com.ibm.ws.webcontainer.annotation.data.ScannedAnnotationData.collectMethodAnnotations(ScannedAnnotationData.java:130)
at com.ibm.ws.webcontainer.annotation.data.ScannedAnnotationData.<init>(ScannedAnnotationData.java:47)
at com.ibm.ws.webcontainer.annotation.AnnotationScanner.scanClass(AnnotationScanner.java:61)
at com.ibm.ws.wswebcontainer.webapp.WebApp.processRuntimeAnnotationHelpers(WebApp.java:711)
at com.ibm.ws.wswebcontainer.webapp.WebApp.populateJavaNameSpace(WebApp.java:624)
at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:289)
at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:93)
at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java:162)
at com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:671)
at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.java:624)
at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:395)
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:611)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1274)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1165)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:587)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:832)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:921)
at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2124)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)
What do you think I need to do?