M2 Guvnor Tomcat Deployment Issues and Resolutions

View: New views
6 Messages — Rating Filter:   Alert me  

M2 Guvnor Tomcat Deployment Issues and Resolutions

by dave sinclair :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Just a heads up for everyone out there. I needed to make the following changes to guvnor's POM in order to get the webapp to work properly on Tomcat. I would imagine some of these issues would appear on JBoss also but have not tried.

1. Changed seam from 2.1.0.BETA1 to 2.1.0-SNAPSHOT to prevent classloader problem

POM Changes
     <dependency>
        <groupId>org.jboss.seam</groupId>
        <artifactId>jboss-seam-remoting</artifactId>
        <version>2.1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>org.jboss.seam</groupId>
        <artifactId>jboss-seam</artifactId>
        <version>2.1.0-SNAPSHOT</version>
    </dependency>

EXCEPTION without change

SEVERE: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
java.lang.IllegalStateException: Cannot load WEB-INF/classes/net/sf/webdav/exceptions/AccessDeniedException.class from WebappClassLoader
  delegate: false
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@c4fe76
 (using getResourceAsStream() returned null)
        at org.jboss.seam.deployment.AbstractDeploymentHandler.getClassFile(AbstractDeploymentHandler.java:41)
        at org.jboss.seam.deployment.ComponentDeploymentHandler.handle(ComponentDeploymentHandler.java:57)
        at org.jboss.seam.deployment.DeploymentStrategy.handle(DeploymentStrategy.java:177)
        at org.jboss.seam.deployment.AbstractScanner.handleItem(AbstractScanner.java:30)
        at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:141)
        at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at org.jboss.seam.deployment.URLScanner.scanDirectories(URLScanner.java:40)
        at org.jboss.seam.deployment.StandardDeploymentStrategy.scan(StandardDeploymentStrategy.java:107)
        at org.jboss.seam.init.Initialization.create(Initialization.java:113)
        at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

2. Added javax.persistence to prevent ClassNotFoundException

POM Changes

        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
            <version>1.0</version>
        </dependency>

EXCEPTION without change

SEVERE: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
java.lang.RuntimeException: Could not create Component: org.jboss.seam.core.init
        at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1068)
        at org.jboss.seam.init.Initialization.init(Initialization.java:614)
        at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NoClassDefFoundError: javax/persistence/Entity
        at org.jboss.seam.Seam.getComponentType(Seam.java:109)
        at org.jboss.seam.Component.<init>(Component.java:210)
        at org.jboss.seam.Component.<init>(Component.java:199)
        at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1052)
        ... 26 more
Caused by: java.lang.ClassNotFoundException: javax.persistence.Entity
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        ... 30 more

3. Added hibernate-validator to prevent ClassNotFoundException

POM Changes

         <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>3.0.0.GA</version>
        </dependency>

EXCEPTION without change

SEVERE: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
java.lang.RuntimeException: Could not create Component: org.jboss.seam.international.statusMessages
        at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1068)
        at org.jboss.seam.init.Initialization.installComponents(Initialization.java:984)
        at org.jboss.seam.init.Initialization.init(Initialization.java:646)
        at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NoClassDefFoundError: [Lorg/hibernate/validator/InvalidValue;
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
        at java.lang.Class.privateGetPublicMethods(Class.java:2547)
        at java.lang.Class.privateGetPublicMethods(Class.java:2563)
        at java.lang.Class.getMethods(Class.java:1410)
        at org.jboss.seam.Component.hasAnnotation(Component.java:1078)
        at org.jboss.seam.Component.<init>(Component.java:212)
        at org.jboss.seam.Component.<init>(Component.java:199)
        at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1052)
        ... 27 more
Caused by: java.lang.ClassNotFoundException: org.hibernate.validator.InvalidValue
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        ... 36 more

4. Seam's version of the Java Expression Language was clashing with Tomcat's

POM Changes

- exclude from seam
<dependency>
            <groupId>org.jboss.seam</groupId>
            <artifactId>jboss-seam</artifactId>
            <version>2.1.0-SNAPSHOT</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.el</groupId>
                    <artifactId>el-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
- comment out from POM
<!--<dependency>-->
            <!--<groupId>javax.el</groupId>-->
            <!--<artifactId>el-api</artifactId>-->
            <!--<version>1.2</version>-->
            <!--<scope>runtime</scope>-->
        <!--</dependency>-->


Exception without change

java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Lj
avax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/index_jsp, and
the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have differ
ent Class objects for the type javax/el/ExpressionFactory used in the signature
        at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)
        at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
        at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
        at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)
        at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)

let me know if we should use different versions then the ones I have listed.

thanks

dave sinclair

_______________________________________________
rules-dev mailing list
rules-dev@...
https://lists.jboss.org/mailman/listinfo/rules-dev

Re: M2 Guvnor Tomcat Deployment Issues and Resolutions

by richarda :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

David,
 Thanks for the information..  but I get a different error when deploying to glassfish:

WebModule[/drools-guvnor]PWC1275: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
java.lang.IllegalStateException: Cannot load WEB-INF/classes/net/sf/webdav/WebDavServletBean.class from WebappClassLoader
  delegate: true
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
EJBClassLoader :
urlSet = []
doneCalled = false
 Parent -> java.net.URLClassLoader@15b8520
 (using getResourceAsStream() returned null)
        at org.jboss.seam.deployment.AbstractDeploymentHandler.getClassFile(AbstractDeploymentHandler.java:41)
        at org.jboss.seam.deployment.ComponentDeploymentHandler.handle(ComponentDeploymentHandler.java:57)
        at org.jboss.seam.deployment.DeploymentStrategy.handle(DeploymentStrategy.java:177)
        at org.jboss.seam.deployment.AbstractScanner.handleItem(AbstractScanner.java:30)
        at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:141)
        at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)

Any ideas for that one?

Thanks

Re: M2 Guvnor Tomcat Deployment Issues and Resolutions

by dave sinclair :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

That looks possibly like the same Seam issue I saw. Check out the first item in my previous post to see if that solves your problem.

dave

richarda wrote:
David,
 Thanks for the information..  but I get a different error when deploying to glassfish:

WebModule[/drools-guvnor]PWC1275: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
java.lang.IllegalStateException: Cannot load WEB-INF/classes/net/sf/webdav/WebDavServletBean.class from WebappClassLoader
  delegate: true
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
EJBClassLoader :
urlSet = []
doneCalled = false
 Parent -> java.net.URLClassLoader@15b8520
 (using getResourceAsStream() returned null)
        at org.jboss.seam.deployment.AbstractDeploymentHandler.getClassFile(AbstractDeploymentHandler.java:41)
        at org.jboss.seam.deployment.ComponentDeploymentHandler.handle(ComponentDeploymentHandler.java:57)
        at org.jboss.seam.deployment.DeploymentStrategy.handle(DeploymentStrategy.java:177)
        at org.jboss.seam.deployment.AbstractScanner.handleItem(AbstractScanner.java:30)
        at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:141)
        at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)

Any ideas for that one?

Thanks

Re: M2 Guvnor Tomcat Deployment Issues and Resolutions

by mellster () :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

FYI, here are a few more hacks I had to make (after checking out the latest from trunk) to get guvnor started on tomcat6 and j2se1.5 on WinXP

1) java.lang.NoClassDefFoundError: org/drools/ObjectFilter

It looks like this one moved to the org.drools.runtime package - duplicated the source file into org/drools and rebuilt.

2) javax.jcr.NamespaceException: http://www.jboss.org/drools-repository/1.0 is not a registered namespace uri

Added the line

drools=http\://www.jboss.org/drools-repository/1.0

to bin/repository/repository/namespaces/ns_reg

3) jsf not found (if you're running with J2SE instead of J2EE)

Added jsf-api and jsf-impl to the pom (runtime scope should do it)

'<dependency>
    <groupId>javax.faces</groupId>
    <artifactId>jsf-api</artifactId>
    <version>1.2_02</version>
</dependency>

<dependency>
    <groupId>javax.faces</groupId>
    <artifactId>jsf-impl</artifactId
    <version>1.2-b19</version>
</dependency>

cheers

Marco

dave sinclair wrote:
Just a heads up for everyone out there. I needed to make the following
changes to guvnor's POM in order to get the webapp to work properly on
Tomcat. I would imagine some of these issues would appear on JBoss also but
have not tried.

1. Changed seam from 2.1.0.BETA1 to 2.1.0-SNAPSHOT to prevent classloader
problem

POM Changes
     <dependency>
        <groupId>org.jboss.seam</groupId>
        <artifactId>jboss-seam-remoting</artifactId>
        <version>2.1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>org.jboss.seam</groupId>
        <artifactId>jboss-seam</artifactId>
        <version>2.1.0-SNAPSHOT</version>
    </dependency>

EXCEPTION without change

SEVERE: Exception sending context initialized event to listener instance of
class org.jboss.seam.servlet.SeamListener
java.lang.IllegalStateException: Cannot load
WEB-INF/classes/net/sf/webdav/exceptions/AccessDeniedException.class from
WebappClassLoader
  delegate: false
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@c4fe76
 (using getResourceAsStream() returned null)
        at
org.jboss.seam.deployment.AbstractDeploymentHandler.getClassFile(AbstractDeploymentHandler.java:41)
        at
org.jboss.seam.deployment.ComponentDeploymentHandler.handle(ComponentDeploymentHandler.java:57)
        at
org.jboss.seam.deployment.DeploymentStrategy.handle(DeploymentStrategy.java:177)
        at
org.jboss.seam.deployment.AbstractScanner.handleItem(AbstractScanner.java:30)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:141)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at
org.jboss.seam.deployment.URLScanner.scanDirectories(URLScanner.java:40)
        at
org.jboss.seam.deployment.StandardDeploymentStrategy.scan(StandardDeploymentStrategy.java:107)
        at
org.jboss.seam.init.Initialization.create(Initialization.java:113)
        at
org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

2. Added javax.persistence to prevent ClassNotFoundException

POM Changes

        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
            <version>1.0</version>
        </dependency>

EXCEPTION without change

SEVERE: Exception sending context initialized event to listener instance of
class org.jboss.seam.servlet.SeamListener
java.lang.RuntimeException: Could not create Component:
org.jboss.seam.core.init
        at
org.jboss.seam.init.Initialization.addComponent(Initialization.java:1068)
        at org.jboss.seam.init.Initialization.init(Initialization.java:614)
        at
org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NoClassDefFoundError: javax/persistence/Entity
        at org.jboss.seam.Seam.getComponentType(Seam.java:109)
        at org.jboss.seam.Component.<init>(Component.java:210)
        at org.jboss.seam.Component.<init>(Component.java:199)
        at
org.jboss.seam.init.Initialization.addComponent(Initialization.java:1052)
        ... 26 more
Caused by: java.lang.ClassNotFoundException: javax.persistence.Entity
        at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
        at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        ... 30 more

3. Added hibernate-validator to prevent ClassNotFoundException

POM Changes

         <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>3.0.0.GA</version>
        </dependency>

EXCEPTION without change

SEVERE: Exception sending context initialized event to listener instance of
class org.jboss.seam.servlet.SeamListener
java.lang.RuntimeException: Could not create Component:
org.jboss.seam.international.statusMessages
        at
org.jboss.seam.init.Initialization.addComponent(Initialization.java:1068)
        at
org.jboss.seam.init.Initialization.installComponents(Initialization.java:984)
        at org.jboss.seam.init.Initialization.init(Initialization.java:646)
        at
org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NoClassDefFoundError:
[Lorg/hibernate/validator/InvalidValue;
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
        at java.lang.Class.privateGetPublicMethods(Class.java:2547)
        at java.lang.Class.privateGetPublicMethods(Class.java:2563)
        at java.lang.Class.getMethods(Class.java:1410)
        at org.jboss.seam.Component.hasAnnotation(Component.java:1078)
        at org.jboss.seam.Component.<init>(Component.java:212)
        at org.jboss.seam.Component.<init>(Component.java:199)
        at
org.jboss.seam.init.Initialization.addComponent(Initialization.java:1052)
        ... 27 more
Caused by: java.lang.ClassNotFoundException:
org.hibernate.validator.InvalidValue
        at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
        at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        ... 36 more

4. Seam's version of the Java Expression Language was clashing with Tomcat's

POM Changes

- exclude from seam
<dependency>
            <groupId>org.jboss.seam</groupId>
            <artifactId>jboss-seam</artifactId>
            <version>2.1.0-SNAPSHOT</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.el</groupId>
                    <artifactId>el-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
- comment out from POM
<!--<dependency>-->
            <!--<groupId>javax.el</groupId>-->
            <!--<artifactId>el-api</artifactId>-->
            <!--<version>1.2</version>-->
            <!--<scope>runtime</scope>-->
        <!--</dependency>-->


Exception without change

java.lang.LinkageError: loader constraint violation: when resolving
interface method
"javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Lj
avax/el/ExpressionFactory;" the class loader (instance of
org/apache/jasper/servlet/JasperLoader) of the current class,
org/apache/jsp/index_jsp, and
the class loader (instance of
org/apache/catalina/loader/StandardClassLoader) for resolved class,
javax/servlet/jsp/JspApplicationContext, have differ
ent Class objects for the type javax/el/ExpressionFactory used in the
signature
        at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)
        at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
        at
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
        at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
        at
org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)
        at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)

let me know if we should use different versions then the ones I have listed.

thanks

dave sinclair

_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

Re: M2 Guvnor Tomcat Deployment Issues and Resolutions

by Mark Proctor :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

mellster wrote:
FYI, here are a few more hacks I had to make (after checking out the latest
from trunk) to get guvnor started on tomcat6 and j2se1.5 on WinXP

1) java.lang.NoClassDefFoundError: org/drools/ObjectFilter

It looks like this one moved to the org.drools.runtime package - duplicated
the source file into org/drools and rebuilt.
  
If you are working with trunk, we are introducing drools-api, which has some changes like this. But I shouldn't be breaking api compatability, I see now I made a refactoring mistake. I should have kept an ObjectFilter in org.drools, that inherited the runtime one, fixing this now. Let me know if there any other api changes like this, so I can revert them.

Mark
2) javax.jcr.NamespaceException: http://www.jboss.org/drools-repository/1.0
is not a registered namespace uri

Added the line

drools=http\://www.jboss.org/drools-repository/1.0

to bin/repository/repository/namespaces/ns_reg

3) jsf not found (if you're running with J2SE instead of J2EE)

Added jsf-api and jsf-impl to the pom (runtime scope should do it)

'<dependency>
    <groupId>javax.faces</groupId>
    <artifactId>jsf-api</artifactId>
    <version>1.2_02</version>
</dependency>

<dependency>
    <groupId>javax.faces</groupId>
    <artifactId>jsf-impl</artifactId
    <version>1.2-b19</version>
</dependency>

cheers

Marco


dave sinclair wrote:
  
Just a heads up for everyone out there. I needed to make the following
changes to guvnor's POM in order to get the webapp to work properly on
Tomcat. I would imagine some of these issues would appear on JBoss also
but
have not tried.

1. Changed seam from 2.1.0.BETA1 to 2.1.0-SNAPSHOT to prevent classloader
problem

POM Changes
     <dependency>
        <groupId>org.jboss.seam</groupId>
        <artifactId>jboss-seam-remoting</artifactId>
        <version>2.1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>org.jboss.seam</groupId>
        <artifactId>jboss-seam</artifactId>
        <version>2.1.0-SNAPSHOT</version>
    </dependency>

EXCEPTION without change

SEVERE: Exception sending context initialized event to listener instance
of
class org.jboss.seam.servlet.SeamListener
java.lang.IllegalStateException: Cannot load
WEB-INF/classes/net/sf/webdav/exceptions/AccessDeniedException.class from
WebappClassLoader
  delegate: false
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@c4fe76
 (using getResourceAsStream() returned null)
        at
org.jboss.seam.deployment.AbstractDeploymentHandler.getClassFile(AbstractDeploymentHandler.java:41)
        at
org.jboss.seam.deployment.ComponentDeploymentHandler.handle(ComponentDeploymentHandler.java:57)
        at
org.jboss.seam.deployment.DeploymentStrategy.handle(DeploymentStrategy.java:177)
        at
org.jboss.seam.deployment.AbstractScanner.handleItem(AbstractScanner.java:30)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:141)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at
org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
        at
org.jboss.seam.deployment.URLScanner.scanDirectories(URLScanner.java:40)
        at
org.jboss.seam.deployment.StandardDeploymentStrategy.scan(StandardDeploymentStrategy.java:107)
        at
org.jboss.seam.init.Initialization.create(Initialization.java:113)
        at
org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

2. Added javax.persistence to prevent ClassNotFoundException

POM Changes

        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
            <version>1.0</version>
        </dependency>

EXCEPTION without change

SEVERE: Exception sending context initialized event to listener instance
of
class org.jboss.seam.servlet.SeamListener
java.lang.RuntimeException: Could not create Component:
org.jboss.seam.core.init
        at
org.jboss.seam.init.Initialization.addComponent(Initialization.java:1068)
        at
org.jboss.seam.init.Initialization.init(Initialization.java:614)
        at
org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NoClassDefFoundError: javax/persistence/Entity
        at org.jboss.seam.Seam.getComponentType(Seam.java:109)
        at org.jboss.seam.Component.<init>(Component.java:210)
        at org.jboss.seam.Component.<init>(Component.java:199)
        at
org.jboss.seam.init.Initialization.addComponent(Initialization.java:1052)
        ... 26 more
Caused by: java.lang.ClassNotFoundException: javax.persistence.Entity
        at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
        at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        ... 30 more

3. Added hibernate-validator to prevent ClassNotFoundException

POM Changes

         <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>3.0.0.GA</version>
        </dependency>

EXCEPTION without change

SEVERE: Exception sending context initialized event to listener instance
of
class org.jboss.seam.servlet.SeamListener
java.lang.RuntimeException: Could not create Component:
org.jboss.seam.international.statusMessages
        at
org.jboss.seam.init.Initialization.addComponent(Initialization.java:1068)
        at
org.jboss.seam.init.Initialization.installComponents(Initialization.java:984)
        at
org.jboss.seam.init.Initialization.init(Initialization.java:646)
        at
org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NoClassDefFoundError:
[Lorg/hibernate/validator/InvalidValue;
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
        at java.lang.Class.privateGetPublicMethods(Class.java:2547)
        at java.lang.Class.privateGetPublicMethods(Class.java:2563)
        at java.lang.Class.getMethods(Class.java:1410)
        at org.jboss.seam.Component.hasAnnotation(Component.java:1078)
        at org.jboss.seam.Component.<init>(Component.java:212)
        at org.jboss.seam.Component.<init>(Component.java:199)
        at
org.jboss.seam.init.Initialization.addComponent(Initialization.java:1052)
        ... 27 more
Caused by: java.lang.ClassNotFoundException:
org.hibernate.validator.InvalidValue
        at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
        at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        ... 36 more

4. Seam's version of the Java Expression Language was clashing with
Tomcat's

POM Changes

- exclude from seam
<dependency>
            <groupId>org.jboss.seam</groupId>
            <artifactId>jboss-seam</artifactId>
            <version>2.1.0-SNAPSHOT</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.el</groupId>
                    <artifactId>el-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
- comment out from POM
<!--<dependency>-->
            <!--<groupId>javax.el</groupId>-->
            <!--<artifactId>el-api</artifactId>-->
            <!--<version>1.2</version>-->
            <!--<scope>runtime</scope>-->
        <!--</dependency>-->


Exception without change

java.lang.LinkageError: loader constraint violation: when resolving
interface method
"javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Lj
avax/el/ExpressionFactory;" the class loader (instance of
org/apache/jasper/servlet/JasperLoader) of the current class,
org/apache/jsp/index_jsp, and
the class loader (instance of
org/apache/catalina/loader/StandardClassLoader) for resolved class,
javax/servlet/jsp/JspApplicationContext, have differ
ent Class objects for the type javax/el/ExpressionFactory used in the
signature
        at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)
        at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
        at
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
        at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
        at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
        at
org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)
        at
org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)

let me know if we should use different versions then the ones I have
listed.

thanks

dave sinclair

_______________________________________________
rules-dev mailing list
rules-dev@...
https://lists.jboss.org/mailman/listinfo/rules-dev


    

  


_______________________________________________
rules-dev mailing list
rules-dev@...
https://lists.jboss.org/mailman/listinfo/rules-dev

Re: M2 Guvnor Tomcat Deployment Issues and Resolutions

by Toni Rikkola :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thank you for the solution. I updated the drools-guvnor pom.xml.

I used seam 2.1.0.GA and didn't disable the el-api. But tested with
tomcat and JBoss AS and it works.

Toni

Mark Proctor wrote:

> mellster wrote:
>> FYI, here are a few more hacks I had to make (after checking out the latest
>> from trunk) to get guvnor started on tomcat6 and j2se1.5 on WinXP
>>
>> 1) java.lang.NoClassDefFoundError: org/drools/ObjectFilter
>>
>> It looks like this one moved to the org.drools.runtime package - duplicated
>> the source file into org/drools and rebuilt.
>>  
> If you are working with trunk, we are introducing drools-api, which
> has some changes like this. But I shouldn't be breaking api
> compatability, I see now I made a refactoring mistake. I should have
> kept an ObjectFilter in org.drools, that inherited the runtime one,
> fixing this now. Let me know if there any other api changes like this,
> so I can revert them.
>
> Mark
>> 2) javax.jcr.NamespaceException: http://www.jboss.org/drools-repository/1.0
>> is not a registered namespace uri
>>
>> Added the line
>>
>> drools=http\://www.jboss.org/drools-repository/1.0
>>
>> to bin/repository/repository/namespaces/ns_reg
>>
>> 3) jsf not found (if you're running with J2SE instead of J2EE)
>>
>> Added jsf-api and jsf-impl to the pom (runtime scope should do it)
>>
>> '<dependency>
>>     <groupId>javax.faces</groupId>
>>     <artifactId>jsf-api</artifactId>
>>     <version>1.2_02</version>
>> </dependency>
>>
>> <dependency>
>>     <groupId>javax.faces</groupId>
>>     <artifactId>jsf-impl</artifactId
>>     <version>1.2-b19</version>
>> </dependency>
>>
>> cheers
>>
>> Marco
>>
>>
>> dave sinclair wrote:
>>  
>>> Just a heads up for everyone out there. I needed to make the following
>>> changes to guvnor's POM in order to get the webapp to work properly on
>>> Tomcat. I would imagine some of these issues would appear on JBoss also
>>> but
>>> have not tried.
>>>
>>> 1. Changed seam from 2.1.0.BETA1 to 2.1.0-SNAPSHOT to prevent classloader
>>> problem
>>>
>>> POM Changes
>>>      <dependency>
>>>         <groupId>org.jboss.seam</groupId>
>>>         <artifactId>jboss-seam-remoting</artifactId>
>>>         <version>2.1.0-SNAPSHOT</version>
>>>     </dependency>
>>>     <dependency>
>>>         <groupId>org.jboss.seam</groupId>
>>>         <artifactId>jboss-seam</artifactId>
>>>         <version>2.1.0-SNAPSHOT</version>
>>>     </dependency>
>>>
>>> EXCEPTION without change
>>>
>>> SEVERE: Exception sending context initialized event to listener instance
>>> of
>>> class org.jboss.seam.servlet.SeamListener
>>> java.lang.IllegalStateException: Cannot load
>>> WEB-INF/classes/net/sf/webdav/exceptions/AccessDeniedException.class from
>>> WebappClassLoader
>>>   delegate: false
>>>   repositories:
>>>     /WEB-INF/classes/
>>> ----------> Parent Classloader:
>>> org.apache.catalina.loader.StandardClassLoader@c4fe76
>>>  (using getResourceAsStream() returned null)
>>>         at
>>> org.jboss.seam.deployment.AbstractDeploymentHandler.getClassFile(AbstractDeploymentHandler.java:41)
>>>         at
>>> org.jboss.seam.deployment.ComponentDeploymentHandler.handle(ComponentDeploymentHandler.java:57)
>>>         at
>>> org.jboss.seam.deployment.DeploymentStrategy.handle(DeploymentStrategy.java:177)
>>>         at
>>> org.jboss.seam.deployment.AbstractScanner.handleItem(AbstractScanner.java:30)
>>>         at
>>> org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:141)
>>>         at
>>> org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
>>>         at
>>> org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
>>>         at
>>> org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
>>>         at
>>> org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
>>>         at
>>> org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
>>>         at
>>> org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)
>>>         at
>>> org.jboss.seam.deployment.URLScanner.scanDirectories(URLScanner.java:40)
>>>         at
>>> org.jboss.seam.deployment.StandardDeploymentStrategy.scan(StandardDeploymentStrategy.java:107)
>>>         at
>>> org.jboss.seam.init.Initialization.create(Initialization.java:113)
>>>         at
>>> org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
>>>         at
>>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
>>>         at
>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
>>>         at
>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>>>         at
>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
>>>         at
>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
>>>         at
>>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
>>>         at
>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
>>>         at
>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>>>         at
>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>>>         at
>>> org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>>>         at
>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>>>         at
>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>>>         at
>>> org.apache.catalina.core.StandardService.start(StandardService.java:516)
>>>         at
>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>>>         at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>         at java.lang.reflect.Method.invoke(Method.java:597)
>>>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>>>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
>>>
>>> 2. Added javax.persistence to prevent ClassNotFoundException
>>>
>>> POM Changes
>>>
>>>         <dependency>
>>>             <groupId>javax.persistence</groupId>
>>>             <artifactId>persistence-api</artifactId>
>>>             <version>1.0</version>
>>>         </dependency>
>>>
>>> EXCEPTION without change
>>>
>>> SEVERE: Exception sending context initialized event to listener instance
>>> of
>>> class org.jboss.seam.servlet.SeamListener
>>> java.lang.RuntimeException: Could not create Component:
>>> org.jboss.seam.core.init
>>>         at
>>> org.jboss.seam.init.Initialization.addComponent(Initialization.java:1068)
>>>         at
>>> org.jboss.seam.init.Initialization.init(Initialization.java:614)
>>>         at
>>> org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
>>>         at
>>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
>>>         at
>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
>>>         at
>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>>>         at
>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
>>>         at
>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
>>>         at
>>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
>>>         at
>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
>>>         at
>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>>>         at
>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>>>         at
>>> org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>>>         at
>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>>>         at
>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>>>         at
>>> org.apache.catalina.core.StandardService.start(StandardService.java:516)
>>>         at
>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>>>         at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>         at java.lang.reflect.Method.invoke(Method.java:597)
>>>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>>>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
>>> Caused by: java.lang.NoClassDefFoundError: javax/persistence/Entity
>>>         at org.jboss.seam.Seam.getComponentType(Seam.java:109)
>>>         at org.jboss.seam.Component.<init>(Component.java:210)
>>>         at org.jboss.seam.Component.<init>(Component.java:199)
>>>         at
>>> org.jboss.seam.init.Initialization.addComponent(Initialization.java:1052)
>>>         ... 26 more
>>> Caused by: java.lang.ClassNotFoundException: javax.persistence.Entity
>>>         at
>>> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
>>>         at
>>> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
>>>         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>>         ... 30 more
>>>
>>> 3. Added hibernate-validator to prevent ClassNotFoundException
>>>
>>> POM Changes
>>>
>>>          <dependency>
>>>             <groupId>org.hibernate</groupId>
>>>             <artifactId>hibernate-validator</artifactId>
>>>             <version>3.0.0.GA</version>
>>>         </dependency>
>>>
>>> EXCEPTION without change
>>>
>>> SEVERE: Exception sending context initialized event to listener instance
>>> of
>>> class org.jboss.seam.servlet.SeamListener
>>> java.lang.RuntimeException: Could not create Component:
>>> org.jboss.seam.international.statusMessages
>>>         at
>>> org.jboss.seam.init.Initialization.addComponent(Initialization.java:1068)
>>>         at
>>> org.jboss.seam.init.Initialization.installComponents(Initialization.java:984)
>>>         at
>>> org.jboss.seam.init.Initialization.init(Initialization.java:646)
>>>         at
>>> org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
>>>         at
>>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
>>>         at
>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
>>>         at
>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>>>         at
>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
>>>         at
>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
>>>         at
>>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
>>>         at
>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
>>>         at
>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>>>         at
>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>>>         at
>>> org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>>>         at
>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>>>         at
>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>>>         at
>>> org.apache.catalina.core.StandardService.start(StandardService.java:516)
>>>         at
>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>>>         at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>         at java.lang.reflect.Method.invoke(Method.java:597)
>>>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>>>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
>>> Caused by: java.lang.NoClassDefFoundError:
>>> [Lorg/hibernate/validator/InvalidValue;
>>>         at java.lang.Class.getDeclaredMethods0(Native Method)
>>>         at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
>>>         at java.lang.Class.privateGetPublicMethods(Class.java:2547)
>>>         at java.lang.Class.privateGetPublicMethods(Class.java:2563)
>>>         at java.lang.Class.getMethods(Class.java:1410)
>>>         at org.jboss.seam.Component.hasAnnotation(Component.java:1078)
>>>         at org.jboss.seam.Component.<init>(Component.java:212)
>>>         at org.jboss.seam.Component.<init>(Component.java:199)
>>>         at
>>> org.jboss.seam.init.Initialization.addComponent(Initialization.java:1052)
>>>         ... 27 more
>>> Caused by: java.lang.ClassNotFoundException:
>>> org.hibernate.validator.InvalidValue
>>>         at
>>> org.apache.catalina.loader.WebappClassLoader.loadClass(We