<div dir="ltr">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. <br>
<br>1. Changed seam from 2.1.0.BETA1 to 2.1.0-SNAPSHOT to prevent classloader problem<br><br>POM Changes <br> <dependency><br> <groupId>org.jboss.seam</groupId><br> <artifactId>jboss-seam-remoting</artifactId><br>
<version>2.1.0-SNAPSHOT</version><br> </dependency><br> <dependency><br> <groupId>org.jboss.seam</groupId><br> <artifactId>jboss-seam</artifactId><br>
<version>2.1.0-SNAPSHOT</version><br> </dependency><br><br>EXCEPTION without change<br><br>SEVERE: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener<br>
java.lang.IllegalStateException: Cannot load WEB-INF/classes/net/sf/webdav/exceptions/AccessDeniedException.class from WebappClassLoader<br> delegate: false<br> repositories:<br> /WEB-INF/classes/<br>----------> Parent Classloader:<br>
org.apache.catalina.loader.StandardClassLoader@c4fe76<br> (using getResourceAsStream() returned null)<br> at org.jboss.seam.deployment.AbstractDeploymentHandler.getClassFile(AbstractDeploymentHandler.java:41)<br> at org.jboss.seam.deployment.ComponentDeploymentHandler.handle(ComponentDeploymentHandler.java:57)<br>
at org.jboss.seam.deployment.DeploymentStrategy.handle(DeploymentStrategy.java:177)<br> at org.jboss.seam.deployment.AbstractScanner.handleItem(AbstractScanner.java:30)<br> at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:141)<br>
at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)<br> at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)<br> at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)<br>
at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)<br> at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)<br> at org.jboss.seam.deployment.URLScanner.handleDirectory(URLScanner.java:137)<br>
at org.jboss.seam.deployment.URLScanner.scanDirectories(URLScanner.java:40)<br> at org.jboss.seam.deployment.StandardDeploymentStrategy.scan(StandardDeploymentStrategy.java:107)<br> at org.jboss.seam.init.Initialization.create(Initialization.java:113)<br>
at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)<br> at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)<br> at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)<br>
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)<br> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)<br> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)<br>
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)<br> at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)<br> at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)<br>
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)<br> at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)<br> at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)<br>
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)<br> at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)<br> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)<br>
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)<br> at org.apache.catalina.core.StandardService.start(StandardService.java:516)<br> at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)<br>
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)<br> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br> at java.lang.reflect.Method.invoke(Method.java:597)<br> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)<br>
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)<br><br>2. Added javax.persistence to prevent ClassNotFoundException<br><br>POM Changes<br><br> <dependency><br> <groupId>javax.persistence</groupId><br>
<artifactId>persistence-api</artifactId><br> <version>1.0</version><br> </dependency><br><br>EXCEPTION without change<br><br>SEVERE: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener<br>
java.lang.RuntimeException: Could not create Component: org.jboss.seam.core.init<br> at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1068)<br> at org.jboss.seam.init.Initialization.init(Initialization.java:614)<br>
at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)<br> at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)<br> at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)<br>
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)<br> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)<br> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)<br>
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)<br> at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)<br> at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)<br>
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)<br> at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)<br> at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)<br>
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)<br> at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)<br> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)<br>
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)<br> at org.apache.catalina.core.StandardService.start(StandardService.java:516)<br> at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)<br>
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)<br> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br> at java.lang.reflect.Method.invoke(Method.java:597)<br> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)<br>
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)<br>Caused by: java.lang.NoClassDefFoundError: javax/persistence/Entity<br> at org.jboss.seam.Seam.getComponentType(Seam.java:109)<br> at org.jboss.seam.Component.<init>(Component.java:210)<br>
at org.jboss.seam.Component.<init>(Component.java:199)<br> at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1052)<br> ... 26 more<br>Caused by: java.lang.ClassNotFoundException: javax.persistence.Entity<br>
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)<br> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)<br> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)<br>
... 30 more<br><br>3. Added hibernate-validator to prevent ClassNotFoundException<br><br>POM Changes<br><br> <dependency><br> <groupId>org.hibernate</groupId><br> <artifactId>hibernate-validator</artifactId><br>
<version><a href="http://3.0.0.GA" target="_blank">3.0.0.GA</a></version><br> </dependency><br><br>EXCEPTION without change<br><br>SEVERE: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener<br>
java.lang.RuntimeException: Could not create Component: org.jboss.seam.international.statusMessages<br> at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1068)<br> at org.jboss.seam.init.Initialization.installComponents(Initialization.java:984)<br>
at org.jboss.seam.init.Initialization.init(Initialization.java:646)<br> at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)<br> at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)<br>
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)<br> at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)<br> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)<br>
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)<br> at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)<br> at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)<br>
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)<br> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)<br> at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)<br>
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)<br> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)<br> at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)<br>
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)<br> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)<br> at org.apache.catalina.core.StandardService.start(StandardService.java:516)<br>
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)<br> at org.apache.catalina.startup.Catalina.start(Catalina.java:578)<br> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br> at java.lang.reflect.Method.invoke(Method.java:597)<br>
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)<br> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)<br>Caused by: java.lang.NoClassDefFoundError: [Lorg/hibernate/validator/InvalidValue;<br>
at java.lang.Class.getDeclaredMethods0(Native Method)<br> at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)<br> at java.lang.Class.privateGetPublicMethods(Class.java:2547)<br> at java.lang.Class.privateGetPublicMethods(Class.java:2563)<br>
at java.lang.Class.getMethods(Class.java:1410)<br> at org.jboss.seam.Component.hasAnnotation(Component.java:1078)<br> at org.jboss.seam.Component.<init>(Component.java:212)<br> at org.jboss.seam.Component.<init>(Component.java:199)<br>
at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1052)<br> ... 27 more<br>Caused by: java.lang.ClassNotFoundException: org.hibernate.validator.InvalidValue<br> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)<br>
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)<br> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)<br> ... 36 more<br><br>4. Seam's version of the Java Expression Language was clashing with Tomcat's<br>
<br>POM Changes<br><br>- exclude from seam<br><dependency><br> <groupId>org.jboss.seam</groupId><br> <artifactId>jboss-seam</artifactId><br> <version>2.1.0-SNAPSHOT</version><br>
<exclusions><br> <exclusion><br> <groupId>javax.el</groupId><br> <artifactId>el-api</artifactId><br> </exclusion><br>
</exclusions><br> </dependency><br>
- comment out from POM<br><!--<dependency>--><br> <!--<groupId>javax.el</groupId>--><br> <!--<artifactId>el-api</artifactId>--><br> <!--<version>1.2</version>--><br>
<!--<scope>runtime</scope>--><br> <!--</dependency>--><br><br><br>Exception without change<br><br>java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Lj<br>
avax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/index_jsp, and<br>
the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have differ<br>ent Class objects for the type javax/el/ExpressionFactory used in the signature<br>
at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)<br> at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)<br> at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)<br>
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)<br> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)<br> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)<br>
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)<br> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)<br> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>
at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)<br> at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)<br> at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)<br>
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)<br>
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)<br> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)<br> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)<br>
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)<br> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)<br> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)<br>
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)<br> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)<br> at java.lang.Thread.run(Thread.java:619)<br>
<br>let me know if we should use different versions then the ones I have listed.<br><br>thanks<br><br>dave sinclair<br></div>