-
1. Re: JBossAS7 JSF 2 support
nickarls Jan 7, 2012 4:26 PM (in response to jkazakov)Yes. Do you have a faces-config.xml? (probably that which the deployer checks for if the JSF libs should be on the apps classpath)
-
2. Re: JBossAS7 JSF 2 support
jkazakov Jan 8, 2012 9:01 AM (in response to nickarls)Yes, I do have an empty faces-config.xml under WEB-INF:
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
</faces-config>
The required libraries should be also in place. At least, I see javax/faces/main/jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar under modules dir. I have tried to replace it and register another JAR (jsf-api-2.0.0-RC.jar) in module.xml, but the result was the same.
The app work perfectly fine on Glassfish 3.1, I was just trying it out on JBoss and was a bit suppriesed with the outcome.
Thanks, J
-
3. Re: JBossAS7 JSF 2 support
nickarls Jan 8, 2012 9:52 AM (in response to jkazakov)The JSF libs are not bundled in the WAR, are they?
-
4. Re: JBossAS7 JSF 2 support
jkazakov Jan 8, 2012 10:45 AM (in response to nickarls)No, there are not JSF libs bundled to WAR; just double checked.
-
5. Re: JBossAS7 JSF 2 support
jkazakov Jan 8, 2012 10:47 AM (in response to jkazakov)this is my stack trace:
16:44:15,317 WARN [org.jboss.modules] (MSC service thread 1-5) Failed to define class opatopa.faces.component.SvgImportComponent in Module "deployment.opatopa-ear.ear:main" from Service Module Loader: java.lang.LinkageError: Failed to link opatopa/faces/component/SvgImportComponent (Module "deployment.opatopa-ear.ear:main" from Service Module Loader)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:396) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:243) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:73) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.Module.loadModuleClass(Module.java:505) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.as.web.deployment.jsf.JsfAnnotationProcessor.deploy(JsfAnnotationProcessor.java:109)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_29]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_29]
at java.lang.Thread.run(Thread.java:680) [:1.6.0_29]
Caused by: java.lang.NoClassDefFoundError: javax/faces/component/behavior/ClientBehaviorHolder
at java.lang.ClassLoader.defineClass1(Native Method) [:1.6.0_29]
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) [:1.6.0_29]
at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [:1.6.0_29]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) [:1.6.0_29]
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:327) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:391) [jboss-modules.jar:1.1.0.CR6]
... 15 more
Caused by: java.lang.ClassNotFoundException: javax.faces.component.behavior.ClientBehaviorHolder from [Module "deployment.opatopa-ear.ear:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.0.CR6]
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.0.CR6]
... 21 more
-
6. Re: JBossAS7 JSF 2 support
nickarls Jan 8, 2012 11:26 AM (in response to jkazakov)Your EAR file needs the JSF libs? Or am I misinterpreting the stacktrace?
-
7. Re: JBossAS7 JSF 2 support
jkazakov Jan 8, 2012 3:59 PM (in response to nickarls)Why should it? JBoss AS 7 itself is an implementation of JEE6 spec.
-
8. Re: JBossAS7 JSF 2 support
nickarls Jan 8, 2012 4:28 PM (in response to jkazakov)Just trying to interpret
Caused by: java.lang.ClassNotFoundException: javax.faces.component.behavior.ClientBehaviorHolder from [Module "deployment.opatopa-ear.ear:main" from Service Module Loader]
-
9. Re: JBossAS7 JSF 2 support
jkazakov Jan 8, 2012 4:37 PM (in response to nickarls)I see. This is what I do not understand, because javax.faces.component.behavior.ClientBehaviorHolder is in modules/javax/faces/main/jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar, which is in the classpath.
-
10. Re: JBossAS7 JSF 2 support
sfcoy Jan 8, 2012 6:02 PM (in response to jkazakov)Hi there,
- Do you have a "normally" packed EAR file? ie. Your EAR file does not contain "exploded" sub-deployments?
- Do you have a servlet spec 3.0 web.xml?
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
- Are you using a jboss-classloading.xml file? If so, what's in it?
-
11. Re: JBossAS7 JSF 2 support
jkazakov Jan 9, 2012 2:48 AM (in response to sfcoy)1. Yes, it is normally packed EAR. This is its structure:
--<myapp>.ear
----<myfirstEJB>.jar (contains EJBs)
----<mysecondEJB>.jar (contains EJBs)
----<myfirstWAR>.war (skinny WAR, no JARs in WEB-INF/lib)
----<mysecondWAR>.war (skinny WAR, no JARs in WEB-INF/lib)
----lib (contains all required libs)
----META-INF
------application.xml
2. Yes, I have Servlet 3.0 schema declaration in my web.xml files for both WARs.
3. No, I am not using jboss-classloading.xml file.
-
12. Re: JBossAS7 JSF 2 support
pgarner Jan 15, 2012 1:51 AM (in response to jkazakov)I have the same set up i.e. normally packed EAR, Servlet 3.0 schema declaration in web.xml, and I'm not using jboss-classloading.xml. And I can deploy to Glassfish without exceptions thrown.
$JBOSS_HOME/modules/javax/faces looks like this:
`-- api
|-- 1.2
| |-- jsf-api-1.2_15-jbossorg-2.jar
| `-- module.xml
`-- main
|-- jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar
|-- jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar.index
`-- module.xml
I am able to deploy without ClassNotFoundException when Maven includes jsf-api-2.1.5.jar in the EAR.
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1.5</version>
</dependency>
EAR structure:
.
|-- lib
| `-- jsf-api-2.1.5.jar
|-- META-INF
| |-- application.xml
| |-- MANIFEST.MF
| `-- maven
| `-- com.patrac
| `-- Patrac-ear
| |-- pom.properties
| `-- pom.xml
|-- Patrac-ejb-1.0-SNAPSHOT.jar
`-- Patrac-web-1.0-SNAPSHOT.war
But when Maven does not include jsf-api-2.1.5.jar in the EAR the ClassNotFoundException is thrown.
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1.5</version>
<scope>provided</scope>
</dependency>
EAR structure:
.
|-- META-INF
| |-- application.xml
| |-- MANIFEST.MF
| `-- maven
| `-- com.patrac
| `-- Patrac-ear
| |-- pom.properties
| `-- pom.xml
|-- Patrac-ejb-1.0-SNAPSHOT.jar
`-- Patrac-web-1.0-SNAPSHOT.war
The stacktrace looks like this:
12:58:26,833 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.deployment.subunit."Patrac.ear"."Patrac-ejb-1.0-SNAPSHOT.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."Patrac.ear"."Patrac-ejb-1.0-SNAPSHOT.jar".POST_MODULE: Failed to process phase POST_MODULE of subdeployment "Patrac-ejb-1.0-SNAPSHOT.jar" of deployment "Patrac.ear"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [:1.7.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [:1.7.0]
at java.lang.Thread.run(Thread.java:722) [:1.7.0]
Caused by: java.lang.RuntimeException: Error getting reflective information for class com.patrac.data.AcademicYearDataModelProducer with ClassLoader ModuleClassLoader for Module "deployment.Patrac.ear.Patrac-ejb-1.0-SNAPSHOT.jar:main" from Service Module Loader
at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b]
at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58)
at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:70)
at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:117)
at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:54)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b]
... 5 more
Caused by: java.lang.NoClassDefFoundError: javax/faces/model/DataModel
at java.lang.Class.getDeclaredFields0(Native Method) [:1.7.0]
at java.lang.Class.privateGetDeclaredFields(Class.java:2308) [:1.7.0]
at java.lang.Class.getDeclaredFields(Class.java:1760) [:1.7.0]
at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:57) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b]
at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b]
... 10 more
Caused by: java.lang.ClassNotFoundException: javax.faces.model.DataModel from [Module "deployment.Patrac.ear.Patrac-ejb-1.0-SNAPSHOT.jar:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
... 15 more
-
13. Re: JBossAS7 JSF 2 support
raneves Nov 30, 2012 4:08 PM (in response to jkazakov)I have the same problem, it not have solution?
Jboss 7 not is a good idea for application server?
I received this error:
java.lang.ClassNotFoundException: javax.faces.model.DataModel
if I using Jboss 5, my project is compiled normally
-
14. Re: JBossAS7 JSF 2 support
ssilvert Dec 1, 2012 7:53 AM (in response to raneves)Can someone post an ear (or war) that recreates this problem? I'd like to figure out what is going on and fix it.
Stan