maven-surefire-plugin cannot test custom charset providers specified in
META-INF/services/java.nio.charset.spi.CharsetProvider
------------------------------------------------------------------------------------------------------------------------------
Key: MNG-1313
URL: http://jira.codehaus.org/browse/MNG-1313
Project: Maven 2
Type: Bug
Components: maven-surefire-plugin
Versions: 2.0
Environment: All
Reporter: Christian Schulte
Priority: Blocker
maven-surefire-plugin cannot run a jUnit test for a custom charset provider
specified in the jar file's
META-INF/services/java.nio.charset.spi.CharsetProvider file. Class
java.nio.charset.Charset performs a lookup using
ClassLoader.getSystemClassLoader(); which does not have the jar file in its
classpath and thus fails with e.g. junit.framework.AssertionFailedError:
java.io.UnsupportedEncodingException: DIN_66003 although the jar file itself is
correct. I think this is due to the plugin using its own classloader and the
JDK using the system classloader but I may be totally wrong and everything is
fine with the plugin.
The method from java.nio.charset.Charset performing the lookup beings with
private static Iterator providers() {
return new Iterator() {
Class c = java.nio.charset.spi.CharsetProvider.class;
ClassLoader cl = ClassLoader.getSystemClassLoader();
Iterator i = Service.providers(c, cl);
Object next = null;
As it seems org.codehaus.surefire.SurefireBooter does not promote the jar files
to the classpath of the system classloader.
--
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
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]