You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Zachary Jones (JIRA)" <ji...@codehaus.org> on 2007/02/21 16:38:27 UTC

[jira] Commented: (SUREFIRE-286) ClassLoader.getSystemResource(String) returns null with valid resource

    [ http://jira.codehaus.org/browse/SUREFIRE-286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_88149 ] 

Zachary Jones commented on SUREFIRE-286:
----------------------------------------

I am also having a problem with surefire classloading.

I had to hack the ServiceMix class:

org.apache.servicemix.http.processors.ConsumerProcessor.

I saved the hacked version as the same class name and the same package. This class does compile to target/classes. The ServiceMix jar that contains this class is included in my classpath after the target/classes directory (seen with -X)

When running mvn test, I get a test failure for the Test class that tries to create a ConsumerProcessor.  We are expecting it to create "our" version of ConsumerProcessor, but it instead creates the ServiceMix version.

I have tried all the available usage options from the surefire plugin documentation to no avail.  Through debug in Eclipse, I see through a watch expression (getClass().getClassLoader()) is always the IsolatedClassLoader, no matter what options we set.  

This test passes in Eclipse, so I am pretty sure it is a classloading issue with the surefire plugin.

Thanks for your help in advance.

> ClassLoader.getSystemResource(String) returns null with valid resource
> ----------------------------------------------------------------------
>
>                 Key: SUREFIRE-286
>                 URL: http://jira.codehaus.org/browse/SUREFIRE-286
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: classloading
>    Affects Versions: 2.0 Report Plugin
>         Environment: Windows XP
>            Reporter: Jamo Smith
>            Priority: Minor
>             Fix For: 2.3
>
>         Attachments: mvntest.zip
>
>
> src/main/java/org/mvntest/TinyGetter.java does this:
> URL url = ClassLoader.getSystemResource("tiny.gif");
> tiny.gif is located in
> src/main/resources
> a TestCase can be found in src/test/java/org/mvntest/TinyGetterTest.java
> which fails with NPE (url is null)
> I believe this TestCase ought to be successful, since tiny.gif should be in the classpath during tests (how else do you have a simulated test environment?).  I tried placing tiny.gif in src/main/java, src/test/java and src/test/resources with no luck anywhere.  Although I believe this should work even if it is only in src/main/resources
> A full, isolated, maven2 project is attached.
> Thanks, and I hope I'm not over looking something.  If I am, I apologize in advance.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira