Well, it took me some time, but I figured out that JBoss AS does not add
the JSF stuff to the classpath when starting CODI. The solution for
JBoss AS7 to get CODI working when located in EAR/lib finally is:
Add a jboss-deployment-structure.xml file to EAR/META-INF that looks
like this:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<!-- Make sub deployments isolated by default, so they cannot see
each others
classes without a Class-Path entry -->
<ear-subdeployments-isolated>true</ear-subdeployments-isolated>
<!-- This corresponds to the top level deployment. For a war this
is the
war's module, for an ear -->
<!-- This is the top level ear module, which contains all the
classes in
the EAR's lib folder -->
<deployment>
<!-- This allows you to define additional dependencies, it is
the same
as using the Dependencies: manifest attribute -->
<dependencies>
<module name="org.w3c.css.sac" />
<module name="net.sourceforge.cssparser" />
<module name="com.sun.jsf-impl" />
<module name="javax.api" />
<module name="javax.faces.api" />
<module name="javax.xml.bind.api" />
<module name="javax.xml.jaxp-provider" />
<module name="com.google.guava" />
</dependencies>
</deployment>
</jboss-deployment-structure>
This will make everything that is somehow jsf specific available for the
CODI jar. Hope this might help someone else.
Regards,
Christian
Am 06.09.2012 22:29, schrieb Mark Struberg:
Hi christian!
Yes, this is perfectly possible. You just have to move all your JSF deps which
are needed by CODI to a shared jar (in an EAR lib).
myfaces-api.jar myfaces-impl.jar, el, etc. All the stuff which is
(transitively) required on the classpath.
I have this scenario running over here with 12 webapps in an EAR (with
ClassLoader isolation).
LieGrue,
strub
----- Original Message -----
From: Christian Beikov <christian.bei...@gmail.com>
To: MyFaces Discussion <users@myfaces.apache.org>
Cc:
Sent: Thursday, September 6, 2012 10:06 PM
Subject: MyFaces CODI within EAR
Hello!
I am trying to package the codi jsf 2 bundle 1.0.5 within my ear but I am
getting some exceptions like:
java.lang.NoClassDefFoundError: javax/faces/bean/ViewScoped
I have placed the bundle in EAR/lib since I have 2 Webapps that use CODI.
Is it even possible to use CODI in such a scenario? Could you please provide
some details on how CODI is supposed to be packaged within an EAR?
Regards,
Christian