[ http://jira.codehaus.org/browse/MSUREFIRE-91?page=all ]
Brett Porter closed MSUREFIRE-91:
---------------------------------
Resolution: Duplicate
> maven-surefire-plugin cannot test custom charset providers specified in
> META-INF/services/java.nio.charset.spi.CharsetProvider
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: MSUREFIRE-91
> URL: http://jira.codehaus.org/browse/MSUREFIRE-91
> Project: Maven 2.x Surefire Plugin
> Type: Bug
> Environment: All
> Reporter: Matthew Wheaton
> Assignee: Brett Porter
> 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