Issue Details (XML | Word | Printable)

Key: SUREFIRE-54
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: Kenney Westerhof
Reporter: fabrizio giustina
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Maven Surefire

Remove use of parent classloader in surefirebooter but keep TestNG support working

Created: 03/Sep/06 09:29 AM   Updated: 07/Sep/06 09:26 AM
Component/s: None
Affects Version/s: 2.3
Fix Version/s: 2.3

Time Tracking:
Not Specified

Complexity: Intermediate


 Description  « Hide
The removal of the parent system classloader while running tests in surefire booter totally broke testNG support.

I am going to revert the commit:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java?r1=427040&r2=438999&diff_format=h
... in order to keep testng working for now, but we should find a way to solve both problems soon.

The removal of the parent classloader is needed, according to Kenney for the following reason:
If this is not done, the System classloader is added, in this case an AppClassloader containing everything in the root classpath. For instance, in maven, everything in core/ is available.This can cause clashes with the plexus-utils used in maven itself.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Milos Kleint added a comment - 03/Sep/06 10:55 AM
when maven is embedded in another application, the System classloader can contain also other stuff from the embedding application.

Kenney Westerhof added a comment - 07/Sep/06 09:26 AM
Fixed in revision 441092; reapplied my change and made surefireclassloader a child
of testclassloader, solving all classloading issues.