Java Application NoClassDefFoundError

Created a Java application for loading documents via CIS (Content Integration Suite) into a storage application. The application runs successfully in RAD, but as an executable ATM in a unix environment, it receives a NoClassDefFoundError. I cannot find the class on my local machine and there are no links to the class on the internet.

the manifest contains this classpath for the required jar and main class files.

Can anyone please help?

Fri Sep 04 16:47:25 EDT 2009 : StandardBatchApplication startup() completed.
java.lang.NoClassDefFoundError: com.stellent.cis.support.spring.ResourceHelper
        at com.stellent.cis.common.classloader.IsolatedJarClassLoader$TemporaryF
        at com.stellent.cis.common.classloader.IsolatedJarClassLoader$TemporaryF
        at com.stellent.cis.common.classloader.IsolatedJarClassLoader$TemporaryF
        at com.stellent.cis.common.classloader.IsolatedJarClassLoader.<clinit>(I
        at java.lang.J9VMInternals.initializeImpl(Native Method)
        at java.lang.J9VMInternals.initialize(J9VMInternals.java:196)
        at com.stellent.cis.impl.CISApplicationFactory.getCisClassloader(CISAppl
        at com.stellent.cis.impl.CISApplicationFactory.getCisApplication(CISAppl
        at com.stellent.cis.impl.CISApplicationFactory.initialize(CISApplication
        at com.lowes.ipt.edi.processor.CISApp.initialize(CISApp.java:48)
        at com.lowes.ipt.edi.processor.EDItoEDAMUploadProcessor.main(EDItoEDAMUp
Caused by: java.lang.ClassNotFoundException: com.stellent.cis.support.spring.Res
        at java.net.URLClassLoader.findClass(URLClassLoader.java:496)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:631)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
        ... 11 more

      

Update. There is only one jar file that deals with CIS. I looked at the bank and there was no class inside. I am not familiar with other RAD class classes that have CIS classes. This happens not only for this class, but also for the class contained in webservices.jar. I see a class and it is part of my classpath because when I remove the Jar from the path it complains about another missing class. When I put it back in my path, it goes into the program and gives the same error.

+2


source to share


2 answers


The problem is caused by the permissions on the tmp directory on UNIX. The CIS API uses the tmp directory to create and store the necessary files / classes for execution. Since I was running this process under my own ID, it was unable to access the tmp files that wsadmin generated. To fix the problem, the process must run as wsadmin.



0


source


The missing class is probably in some JAR file that is installed on your local machine and not on the remote machine. It is most likely installed on the uninstall machine elsewhere and then on your local machine (which is expected if the remote machine is a Unix machine and the local machine is a Windows box).



The classpath set in the MANIFEST.MF file in the JAR you are creating must be the classpath to find all associated JARs on the remote machine - you need to find where the JAR is located and then add that path to the manifest classpath of the JARs on Unix machines are often installed in / usr / share / java, but I can't tell you more because I'm not familiar with CIS and I don't know what JAR files are usually distributed.

0


source







All Articles