maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Eagle (JIRA)" <j...@codehaus.org>
Subject [jira] Created: (SUREFIRE-475) Classloader getResource() returns resource from wrong directory
Date Thu, 20 Mar 2008 21:22:47 GMT
Classloader getResource() returns resource from wrong directory
---------------------------------------------------------------

                 Key: SUREFIRE-475
                 URL: http://jira.codehaus.org/browse/SUREFIRE-475
             Project: Maven Surefire
          Issue Type: Bug
          Components: classloading
    Affects Versions: 2.4.2
            Reporter: Alex Eagle


In upgrading from version 2.3 to 2.4.2, we encountered a different behaviour in classloading.
We have a classes/ and a test-classes/ folder under target, and both contain the same package,
"foo":
<noformat>
|-- target/test-classes
|   `-- foo
        `-- some file
|-- target/classes
    `-- foo
</noformat>

In 2.3, a Classloader.getResource() call in our app returns the target/test-classes/foo folder,
in which we find some file.

In 2.4.2, the same code returns the target/classes/foo folder, and so some file cannot be
found. Note that there are two actual directories that resolve to from same classpath location.

To get the classes folder in the classpath when running tests, we are using this testResources
in the pom:
<noformat>
   <testResources>
      <!-- include the standard resource directory... -->
      <testResource>
        <directory>src/test/resources</directory>
      </testResource>
      <!--
        ... and include the resources from the real build, but give
        precedence to any test resources with the same name (this is
        accomplished by defining this testResource after the previous one.
      -->
      <testResource>
        <directory>src/main/resources</directory>
      </testResource>
    </testResources>
</noformat> 

Perhaps SUREFIRE-443 can provide a way to correctly copy resources between the classes and
test-classes folders, so that there is only one location on the disk for each classpath URI.

-- 
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

        

Mime
View raw message