[shrinkwrap-issues] [JBoss JIRA] (SHRINKWRAP-369) ShrinkWrapClassLoader does not find service provider in WAR

Andrew Rubinger (Commented) (JIRA) jira-events at lists.jboss.org
Thu Dec 15 15:31:09 EST 2011


    [ https://issues.jboss.org/browse/SHRINKWRAP-369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12651410#comment-12651410 ] 

Andrew Rubinger commented on SHRINKWRAP-369:
--------------------------------------------

Please provide test case?  This:

{code}/**
     * SHRINKWRAP-369
     */
    @Test
    public void shouldBeAbleToFindServiceProvider() throws Exception {
        final JavaArchive archive = ShrinkWrap.create(JavaArchive.class).addAsServiceProvider(Cloneable.class,
            String.class);
        System.out.println(archive.toString(true));
        final ShrinkWrapClassLoader cl = new ShrinkWrapClassLoader((ClassLoader) null, archive);
        final Enumeration<URL> found = cl.findResources("META-INF/services/java.lang.Cloneable");
        System.out.println(found.nextElement().toString());
    }{code}

Yields:

{code}8529b120-3b12-4cba-b66c-a62ef94b7f4e.jar:
/META-INF/
/META-INF/services/
/META-INF/services/java.lang.Cloneable
archive:8529b120-3b12-4cba-b66c-a62ef94b7f4e.jar/META-INF/services/java.lang.Cloneable{code}

..as expected.  Confirm or please resolve this issue as "Does Not Exist".
                
> ShrinkWrapClassLoader does not find service provider in WAR
> -----------------------------------------------------------
>
>                 Key: SHRINKWRAP-369
>                 URL: https://issues.jboss.org/browse/SHRINKWRAP-369
>             Project: ShrinkWrap
>          Issue Type: Bug
>          Components: api
>    Affects Versions: 1.0.0-beta-3
>            Reporter: Martin Kouba
>
> I ran into this issue when working with *Arquillian* and *Weld EE 1.1 Embedded container* (that uses ShrinkWrapClassLoader under the hood). ShrinkWrap correctly builds web archive with CDI extension (using org.jboss.shrinkwrap.api.container.ManifestContainer.addAsServiceProvider(Class<?>, Class<?>...); this was also discussed in SHRINKWRAP-266).
> Output:
> {code}
> test.war
> /WEB-INF/
> /WEB-INF/classes/
> /WEB-INF/classes/META-INF/
> /WEB-INF/classes/META-INF/services/
> /WEB-INF/classes/META-INF/services/javax.enterprise.inject.spi.Extension
> {code}
> However no extensions are found. *org.jboss.shrinkwrap.api.classloader.ShrinkWrapClassLoader* probably does not find any resource when looking for "META-INF/services/javax.enterprise.inject.spi.Extension".
> Note that I'm not quite sure whether it's ShrinkWrapClassLoader or WeldEEMockContainer issue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the shrinkwrap-issues mailing list