[
https://issues.apache.org/jira/browse/MYFACES-1812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12564867#action_12564867
]
Val Blant commented on MYFACES-1812:
------------------------------------
Tested 1.2.3-SNAPSHOT - works as expected now. Thanks, Martin.
I think the reason most people don't see this happen might be b/c people
usually have a WAR and an EAR class loader. I am not 100% sure, but I think
that the EAR class loader would not see the stuff under WEB-INF/lib. In my
development environment I start my web app in place with Jetty6 with help of an
Eclipse plugin. This results in a WAR class loader and a Launcher class loader,
which sees all of the web project's dependencies, including the jars under
WEB-INF/lib.
Val
> All faces-config.xml get loaded twice from jars in WEB-INF/lib
> --------------------------------------------------------------
>
> Key: MYFACES-1812
> URL: https://issues.apache.org/jira/browse/MYFACES-1812
> Project: MyFaces Core
> Issue Type: Bug
> Reporter: Val Blant
> Assignee: Martin Marinschek
> Fix For: 1.2.3-SNAPSHOT
>
>
> "ClassUtils.getResources(FACES_CONFIG_RESOURCE, this)" will return an
> iterator over all "META-INF/faces-config.xml" resources that were found. The
> search is carried out by starting at WebAppClassLoader and making an
> Enumeration of all resources with the given name that WebAppClassLoader and
> all its parents see. The jars placed into WEB-INF/lib will be seen by the
> WebAppClassLoader AND AppClassLoader, thus resulting in the same jars (the
> ones that have "META-INF/faces-config.xml") being placed on the list twice.
> This is fine, but things break when
> FacesConfigurator.feedClassloaderConfigurations() does not check for
> duplicate URLs and just blindly registers everything from these jars twice.
> One of the effects of this bug is that all phase listeners get registered and
> therefore executed twice.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.