[ http://jira.codehaus.org/browse/SUREFIRE-475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=129060#action_129060 ]
Alex Eagle commented on SUREFIRE-475: ------------------------------------- Thanks for the detailed reply, Dan. The issue with incorrectly reporting the classpath may have been part of our problem. Your listing of Maven vs. Surefire versions is correct, with Maven 2.0.8 and Surefire 2.4.2, we get the correct classpath ordering and our test runs successfully. It may be that in our earlier testing, we thought we were running 2.0.8 but were actually running 2.0.6. Cannot reproduce is the right resolution :) > 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