9 Replies Latest reply on Mar 5, 2008 8:28 AM by David Buckley

    jbpm-jpdl.jar deployment in war file

    David Buckley Newbie

      I'm trying to deploy a war file that contains all the libraries required. One of libs happens to be jbpm-jpdl.jar. When the file is included in with the other libs, jboss will not deploy the war, if the file is copied to the lib directory (default/lib) then the deploy works fine.

      has anyone any clues as to why this is happening?

      for reference the exception that gets thrown is :

      java.lang.NoClassDefFoundError: org/jbpm/taskmgmt/exe/TaskInstance


      thanks

        • 2. Re: jbpm-jpdl.jar deployment in war file
          David Buckley Newbie

          while i'm sure that means something to you.....

          can you please elaborate?

          • 3. Re: jbpm-jpdl.jar deployment in war file
            Martin Weiler Apprentice

            Ronald referred to the classloader specifics of JBoss. There are a couple of wiki pages in that respect, eg:

            http://wiki.jboss.org/wiki/Wiki.jsp?page=GetClassNotFoundExceptionOrNoClassDefFoundError

            I think the fourth point 'The class is not visible from where it is being loaded' matches your use case pretty much.

            It would be interesting to know, however, why your *.war with the included jbpm-jpdl.jar doesn't deploy. This is how the jBPM web console application is deployed (if you don't use the *.ear version).

            Please provide more details of what is failing and the exceptions you get, as well as the versions (AS, jBPM) so that we can help you further.

            Just a guess, if it is jBPM 3.2.x on AS 4.2.x, this will not work ootb, but you could follow this wiki to get it going:
            http://wiki.jboss.org/wiki/Wiki.jsp?page=DeployJbpm3.2WebAppUnderJBoss4.2.x

            • 4. Re: jbpm-jpdl.jar deployment in war file
              David Buckley Newbie

              Thanks for the explanation :)

              I'm running on jboss 4.2.2.GA using jBPM 3.2.2

              As for what is failing... the first error is the one i've indicated in the first post.

              To be honest I'm not the developer of the code i'm just the poor bugger who has to get it to deploy. I had originaly built an ear for it to go in, but that didn't work so i've broke it down to the war and got the underlying problem.

              but if you really want the stack trace (made it small on purpose)...


              2008-03-03 10:30:04,642 ERROR [org.jboss.deployment.MainDeployer] Could not start deployment: file:/C:/appservers/jboss-4.2.2.GA/server/default/deploy/acqdr5.war
               java.lang.NoClassDefFoundError: org/jbpm/taskmgmt/exe/TaskInstance
               at java.lang.Class.getDeclaredConstructors0(Native Method)
               at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
               at java.lang.Class.getConstructor0(Class.java:2671)
               at java.lang.Class.getDeclaredConstructor(Class.java:1953)
               at com.sun.xml.bind.v2.model.nav.ReflectionNavigator.hasDefaultConstructor(ReflectionNavigator.java:464)
               at com.sun.xml.bind.v2.model.nav.ReflectionNavigator.hasDefaultConstructor(ReflectionNavigator.java:58)
               at com.sun.xml.bind.v2.model.impl.ClassInfoImpl.<init>(ClassInfoImpl.java:193)
               at com.sun.xml.bind.v2.model.impl.RuntimeClassInfoImpl.<init>(RuntimeClassInfoImpl.java:94)
               at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createClassInfo(RuntimeModelBuilder.java:108)
               at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createClassInfo(RuntimeModelBuilder.java:79)
               at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:222)
               at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:98)
               at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:79)
               at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:192)
               at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:93)
               at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:79)
               at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:298)
               at com.sun.xml.bind.v2.model.impl.TypeRefImpl.calcRef(TypeRefImpl.java:92)
               at com.sun.xml.bind.v2.model.impl.TypeRefImpl.getTarget(TypeRefImpl.java:69)
               at com.sun.xml.bind.v2.model.impl.RuntimeTypeRefImpl.getTarget(RuntimeTypeRefImpl.java:58)
               at com.sun.xml.bind.v2.model.impl.RuntimeTypeRefImpl.getTarget(RuntimeTypeRefImpl.java:51)
               at com.sun.xml.bind.v2.model.impl.ElementPropertyInfoImpl$1.get(ElementPropertyInfoImpl.java:74)
               at com.sun.xml.bind.v2.model.impl.ElementPropertyInfoImpl$1.get(ElementPropertyInfoImpl.java:77)
               at java.util.AbstractList$Itr.next(AbstractList.java:422)
               at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:238)
               at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:98)
               at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:79)
               at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:192)
               at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:93)
               at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:79)
               at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:298)
               at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:313)
               at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:432)
               at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:286)
               at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)
               at com.sun.xml.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:105)
               at com.sun.xml.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:116)
               at org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilder.createJAXBContext(JAXWSMetaDataBuilder.java:921)
               at org.jboss.ws.metadata.builder.jaxws.JAXWSWebServiceMetaDataBuilder.buildWebServiceMetaData(JAXWSWebServiceMetaDataBuilder.java:146)
               at org.jboss.ws.metadata.builder.jaxws.JAXWSServerMetaDataBuilder.setupProviderOrWebService(JAXWSServerMetaDataBuilder.java:50)
               at org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilderJSE.buildMetaData(JAXWSMetaDataBuilderJSE.java:63)
               at org.jboss.wsf.stack.jbws.UnifiedMetaDataDeploymentAspect.create(UnifiedMetaDataDeploymentAspect.java:66)
               at org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl.deploy(DeploymentAspectManagerImpl.java:115)
               at org.jboss.wsf.container.jboss42.ArchiveDeployerHook.deploy(ArchiveDeployerHook.java:97)
               at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:90)
               at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
               at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
               at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
               at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
               at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
               at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
               at $Proxy45.start(Unknown Source)
               at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
               at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
               at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
               at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
               at java.lang.reflect.Method.invoke(Method.java:585)
               at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
               at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
               at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
               at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
               at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
               at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
               at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
               at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
               at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
               at $Proxy9.deploy(Unknown Source)
               at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
               at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
               at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
               at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
               at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
              


              • 5. Re: jbpm-jpdl.jar deployment in war file
                Martin Weiler Apprentice

                what other jars do you bundle inside this *.war? The stacktrace shows some WS classes, do you have such libraries inside your application?

                • 6. Re: jbpm-jpdl.jar deployment in war file
                  David Buckley Newbie

                  here's the list of all the jars in the libs directory of the target war

                  ./WEB-INF/lib/activation.jar
                   ./WEB-INF/lib/antlr-2.7.6.jar
                   ./WEB-INF/lib/asm.jar
                   ./WEB-INF/lib/bsh.jar
                   ./WEB-INF/lib/cglib.jar
                   ./WEB-INF/lib/commons-collections.jar
                   ./WEB-INF/lib/commons-io-1.3.2.jar
                   ./WEB-INF/lib/commons-logging.jar
                   ./WEB-INF/lib/dom4j.jar
                   ./WEB-INF/lib/hibernate3.jar
                   ./WEB-INF/lib/hsqldb.jar
                   ./WEB-INF/lib/jackrabbit/commons-collections-3.1.jar
                   ./WEB-INF/lib/jackrabbit/concurrent-1.3.4.jar
                   ./WEB-INF/lib/jackrabbit/derby-10.2.1.6.jar
                   ./WEB-INF/lib/jackrabbit/geronimo-jta_1.0.1B_spec-1.0.1.jar
                   ./WEB-INF/lib/jackrabbit/jackrabbit-api-1.3.jar
                   ./WEB-INF/lib/jackrabbit/jackrabbit-classloader-1.3.jar
                   ./WEB-INF/lib/jackrabbit/jackrabbit-core-1.3.jar
                   ./WEB-INF/lib/jackrabbit/jackrabbit-jcr-commons-1.3.jar
                   ./WEB-INF/lib/jackrabbit/jackrabbit-jcr-rmi-1.3.jar
                   ./WEB-INF/lib/jackrabbit/jackrabbit-jcr-server-1.3.jar
                   ./WEB-INF/lib/jackrabbit/jackrabbit-jcr-tests-1.3.jar
                   ./WEB-INF/lib/jackrabbit/jackrabbit-text-extractors-1.3.jar
                   ./WEB-INF/lib/jackrabbit/jackrabbit-webdav-1.3.jar
                   ./WEB-INF/lib/jackrabbit/jcr-1.0.jar
                   ./WEB-INF/lib/jackrabbit/log4j-1.2.13.jar
                   ./WEB-INF/lib/jackrabbit/lucene-core-2.0.0.jar
                   ./WEB-INF/lib/jackrabbit/nekohtml-0.9.4.jar
                   ./WEB-INF/lib/jackrabbit/pdfbox-0.6.4.jar
                   ./WEB-INF/lib/jackrabbit/poi-2.5.1-final-20040804.jar
                   ./WEB-INF/lib/jackrabbit/slf4j-api-1.3.0.jar
                   ./WEB-INF/lib/jackrabbit/slf4j-log4j12-1.3.0.jar
                   ./WEB-INF/lib/jackrabbit/tm-extractors-0.4.jar
                   ./WEB-INF/lib/jackrabbit/xercesImpl-2.8.1.jar
                   ./WEB-INF/lib/jackrabbit/xml-apis-1.3.03.jar
                   ./WEB-INF/lib/jboss-backport-concurrent.jar
                   ./WEB-INF/lib/jboss-j2ee.jar
                   ./WEB-INF/lib/jboss-retro-1.1.0-rt.jar
                   ./WEB-INF/lib/jbpm-identity.jar
                   ./WEB-INF/lib/jbpm-jpdl.jar
                   ./WEB-INF/lib/jcr-1.0.jar
                   ./WEB-INF/lib/log4j.jar
                   ./WEB-INF/lib/mail.jar
                   ./WEB-INF/lib/ojdbc14.jar
                   ./WEB-INF/lib/resolver.jar
                   ./WEB-INF/lib/saxon/saxon9-ant.jar
                   ./WEB-INF/lib/saxon/saxon9-dom.jar
                   ./WEB-INF/lib/saxon/saxon9-dom4j.jar
                   ./WEB-INF/lib/saxon/saxon9-jdom.jar
                   ./WEB-INF/lib/saxon/saxon9-s9api.jar
                   ./WEB-INF/lib/saxon/saxon9-sql.jar
                   ./WEB-INF/lib/saxon/saxon9-xom.jar
                   ./WEB-INF/lib/saxon/saxon9-xpath.jar
                   ./WEB-INF/lib/saxon/saxon9-xqj.jar
                   ./WEB-INF/lib/saxon/saxon9.jar
                   ./WEB-INF/lib/saxon/saxon9sa-jaxp.jar
                   ./WEB-INF/lib/saxon/saxon9sa-qc.jar
                   ./WEB-INF/lib/saxon/saxon9sa.jar
                   ./WEB-INF/lib/serializer.jar
                   ./WEB-INF/lib/xalan.jar
                   ./WEB-INF/lib/xercesImpl.jar


                  there are some webservices in the code. All the services build on the jbpm libraries, if you think thats where the problem lies, can you give me some sort of indication where to go looking.
                  I fully apreciate you have no idea what they're doing, to be honist neither do i so its pointless me trying to explane them.
                  If you do think thats where i should look though please can you use explanations for the thick... i really don't want to go continualy bugging the community with noob questions.

                  thanks



                  • 7. Re: jbpm-jpdl.jar deployment in war file
                    Martin Weiler Apprentice

                     

                    ./WEB-INF/lib/jboss-j2ee.jar


                    including JBoss jars in custom applications usually brings you in trouble ;-) I'd remove at least this one (and check for others that might be duplicates of the ones in jboss/config/lib) and give it another try...

                    • 9. Re: jbpm-jpdl.jar deployment in war file
                      David Buckley Newbie

                      i'm experimenting with removing the various jars now, so i'll let you know if i get anywhere. thanks for the help