[jboss-jira] [JBoss JIRA] Commented: (JBAS-8035) Weld Deployer not working with new JSF Deployer
Ales Justin (JIRA)
jira-events at lists.jboss.org
Wed May 26 05:27:55 EDT 2010
[ https://jira.jboss.org/browse/JBAS-8035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12532467#action_12532467 ]
Ales Justin commented on JBAS-8035:
-----------------------------------
>> This way, JSF jars are available to both the WAR and the EAR. This is already done and should address your concerns since application developers won't notice any difference.
This directly calls for CCE; e.g. passing JSF info / context from web / UI layer to Seam's business logic
Or are you saying you exclude JSF from the .war it came with, and only place it into top level .ear classpath?
As this would then somehow work, but imo this is a hack.
> Weld Deployer not working with new JSF Deployer
> -----------------------------------------------
>
> Key: JBAS-8035
> URL: https://jira.jboss.org/browse/JBAS-8035
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Weld/CDI
> Affects Versions: 6.0.0.M4
> Reporter: Stan Silvert
> Assignee: Marius Bogoevici
> Priority: Blocker
>
> I think this will require Weld Deployer changes, so assigning to Ales for now.
> I've integrated the JSF Deployer into AS but now the Weld tests are failing. If you deploy a Weld app you will see:
> 18:58:51,956 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/weld-numberguess]] Exception sending context initialized event to listener
> instance of class org.jboss.web.jsf.integration.config.JBossJSFConfigureListener
> : java.lang.NoClassDefFoundError: javax/faces/application/ApplicationFactory
> The JSF deployer is much more selective about adding JSF to the classpath. It looks like JSF is probably trying to load org.jboss.weld.integration.webtier.jsf.WeldApplicationFactory that is defined in weld.deployer/lib-int/faces/META-INF/faces-config.xml. I think what happens is that this WeldApplicationFactory is loaded from weld.deployer/weld-jboss-int-webteir.jar. Then it references a JSF core class and it can't find it because the classloader for that doesn't see JSF.
> The tricky part is that you can't just add JSF to the classloader for that jar. Each WAR can have a different JSF Implementation if it wants. So this sort of thing must be done for each individual deployment.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list