Daniel Kulp wrote:
Balaji started working a little bit on this this morning and ran into some
snags. I'm not sure how far he got, but it MAY not be possible with
the way the Maven surefire plugin works. If you look at the code for
java.rmi.RMIClassLoader, the initialize method does:
Class providerClass =
Class.forName(providerClassName, false,
ClassLoader.getSystemClassLoader());
Thus, the class has to be on the SYSTEM classpath, it doesn't use any type
of context classloader. When maven "forks" surefire, it sets a system
classpath that ONLY contains the Surefire stuff which then loads the
project classpath in an internal classloader.
Anyway, the code probably works, but I'm not sure how to get surefire to
actually use it. We MAY need to put just that class in a separate jar
and maybe add a "<argLine>-Xbootclasspath/p:thatjar</argLine>" section
to the surefire config. (requires forking be turned on) I'm not
really sure yet.
Yeah, need to have forking turned in, IIUC.
Regards,
Alan