Wildfly 8.0 Aplha1 and Seam 2
mechtatel Jun 13, 2013 2:22 PMHi,
We have Seam 2 app that is already working on Jboss AS 7.1. I'd like to upgrade to WildFly(currently 8.0 Alpha1) but receive the next error:
12:58:56,305 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.undertow.deployment.default-host./warAlias.UndertowDeploymentInfoService: org.jboss.msc.service.StartException in service jbos
s.undertow.deployment.default-host./warAlias.UndertowDeploymentInfoService: java.lang.ClassNotFoundException: 404 from [Module "deployment.warName.war:main" from Service Module Loader]
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.createServletConfig(UndertowDeploymentInfoService.java:587)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.start(UndertowDeploymentInfoService.java:200)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1974) [jboss-msc-1.1.2.Final.jar:1.1.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1907) [jboss-msc-1.1.2.Final.jar:1.1.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_21]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_21]
Caused by: java.lang.ClassNotFoundException: 404 from [Module "deployment.warName.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196) [jboss-modules.jar:1.2.0.Final]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444) [jboss-modules.jar:1.2.0.Final]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432) [jboss-modules.jar:1.2.0.Final]
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374) [jboss-modules.jar:1.2.0.Final]
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119) [jboss-modules.jar:1.2.0.Final]
at java.lang.Class.forName0(Native Method) [rt.jar:1.7.0_21]
at java.lang.Class.forName(Class.java:266) [rt.jar:1.7.0_21]
at org.jboss.as.server.deployment.reflect.DeploymentClassIndex.classIndex(DeploymentClassIndex.java:54) [wildfly-server-8.0.0.Alpha1.jar:8.0.0.Alpha1]
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.createServletConfig(UndertowDeploymentInfoService.java:515)
... 6 more
12:58:56,414 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "warName.war")]) - failure description: {"JBAS014671: Failed services" => {"jb
oss.undertow.deployment.default-host./warAlias.UndertowDeploymentInfoService" => "org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-host./warAlias.UndertowDeploymentInfoService: java.lang.ClassNotFoundExcepti
on: 404 from [Module \"deployment.warName.war:main\" from Service Module Loader]
Caused by: java.lang.ClassNotFoundException: 404 from [Module \"deployment.warName.war:main\" from Service Module Loader]"}}
12:58:56,461 INFO [org.jboss.as.server] (ServerService Thread Pool -- 27) JBAS018559: Deployed "warName.war" (runtime-name : "warName.war")
12:58:56,476 INFO [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report
JBAS014777: Services which failed to start: service jboss.undertow.deployment.default-host./empleo16.UndertowDeploymentInfoService: org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-host./warAlias.Unde
rtowDeploymentInfoService: java.lang.ClassNotFoundException: 404 from [Module "deployment.warName.war:main" from Service Module Loader]
Seam 2 requieres JSF 1.2 so I added two modules:
First: modules\system\layers\base\javax\faces\api\1.2
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="javax.faces.api" slot="1.2">
<dependencies>
<module name="javax.el.api" export="true"/>
<module name="javax.servlet.api" export="true"/>
<module name="javax.servlet.jsp.api" export="true"/>
<module name="javax.servlet.jstl.api" export="true"/>
<module name="javax.validation.api" export="true"/>
</dependencies>
<resources>
<resource-root path="jsf-api-1.2_15-jbossorg-2.jar"/>
</resources>
</module>
Second: modules\system\layers\base\com\sun\jsf-impl\1.2
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.sun.jsf-impl" slot="1.2">
<properties>
<property name="jboss.api" value="private"/>
</properties>
<dependencies>
<module name="javax.faces.api" slot="1.2"/>
<module name="javaee.api"/>
<module name="javax.servlet.jstl.api"/>
</dependencies>
<resources>
<resource-root path="jsf-impl-1.2_15-jbossorg-2.jar"/>
</resources>
</module>
In WEB-INF of the WAR we have jboss-deployment-structure.xml
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="javax.faces.api" slot="main"/>
<module name="com.sun.jsf-impl" slot="main"/>
</exclusions>
<dependencies>
<module name="org.apache.commons.logging" />
<module name="org.apache.commons.collections" />
<module name="org.apache.log4j" />
<module name="org.dom4j" />
<module name="javax.faces.api" slot="1.2"/>
<module name="com.sun.jsf-impl" slot="1.2"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
I tried to use also export="true" on dependencies without success.
From the error stack is obvious that the problem is ClassNotFoundException but there is not info pointing which class is not found. I can see that in WildFly there is little difference between modules\system\layers\base\org\apache\log4j\main and modules\org\apache\log4j\main (Jboss As 7.1)
How can be solved this error?