You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Brett Porter (JIRA)" <ji...@codehaus.org> on 2007/01/21 23:29:24 UTC
[jira] Moved: (SUREFIRE-225) maven-surefire-plugin cannot test
custom charset providers specified in
META-INF/services/java.nio.charset.spi.CharsetProvider
[ http://jira.codehaus.org/browse/SUREFIRE-225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brett Porter moved MSUREFIRE-91 to SUREFIRE-225:
------------------------------------------------
Key: SUREFIRE-225 (was: MSUREFIRE-91)
Project: Maven Surefire (was: Maven 2.x Surefire Plugin)
> maven-surefire-plugin cannot test custom charset providers specified in META-INF/services/java.nio.charset.spi.CharsetProvider
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: SUREFIRE-225
> URL: http://jira.codehaus.org/browse/SUREFIRE-225
> Project: Maven Surefire
> Issue Type: Bug
> Environment: All
> Reporter: Matthew Wheaton
> Assigned To: 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