You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Dan Fabulich (JIRA)" <ji...@codehaus.org> on 2008/03/26 22:20:58 UTC
[jira] Closed: (SUREFIRE-475) Classloader getResource() returns
resource from wrong directory
[ http://jira.codehaus.org/browse/SUREFIRE-475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Fabulich closed SUREFIRE-475.
---------------------------------
Resolution: Cannot Reproduce
As mentioned, we've got an integration test checked in that verifies this behavior explicitly. If it's not working for you, then please reopen this bug and provide a reduced test case demonstrating the problem, ideally in the form of a minimal Maven project that has the bug.
> 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