Uploaded image for project: 'PUBLIC - Liferay Faces'
  1. PUBLIC - Liferay Faces
  2. FACES-2631

The Mojarra ConfigureListener/ConfigManager is unable to discover resources in the classpath via wildcard

    Details

      Description

      Steps to Reproduce:

      1. Start Liferay Portal 7.0 CE
      2. Deploy jsf-applicant-portlet-4.0.0.war to the $LIFERAY_HOME/deploy
      3. Add the jsf-applicant portlet to the portal page
      4. Reload the portal page

      If the bug still exists, then the alloy: component tags will not render. If the bug is fixed, then the alloy: component tags will render and the portlet will function correctly.

      The reason why the alloy: component tags do not render is because Mojarra is unable to search the classpath for *.taglib.xml descriptors like liferay-faces-alloy.jar!META-INF/alloy.taglib.xml.

      The failure is caused by com.sun.faces.config.configprovider. MetaInfFaceletTaglibraryConfigProvider trying to search for "*.taglib.xml" in the classpath. When it calls Classpath.search(ClassLoader cl, String prefix, String suffix, SearchAdvice advice) the URLConnection type is org.eclipse.osgi.framework.internal.core.BundleURLConnection rather than the expected java.net.JarURLConnection type.

      Mojarra provides the following Service Provider Interface (SPI) interfaces that must be used to solve the problem:

      For reference purposes, here are links to some related Glassfish source files:

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Packages

                  Version Package
                  bridge-ext-5.0.0