[regression] String-based component lookups performed by report mojos fail with
ClassCastException
--------------------------------------------------------------------------------------------------
Key: MNG-5019
URL: http://jira.codehaus.org/browse/MNG-5019
Project: Maven 2 & 3
Issue Type: Bug
Components: Class Loading
Affects Versions: 3.0.2
Reporter: Benjamin Bentmann
>From the IT MSITE-506 of the Site Plugin:
{noformat}
Caused by: java.lang.ClassCastException:
org.codehaus.plexus.archiver.zip.ZipUnArchiver$__plexus6
at
org.codehaus.plexus.archiver.manager.DefaultArchiverManager.getUnArchiver(DefaultArchiverManager.java:76)
at
org.apache.maven.plugin.javadoc.resolver.ResourceResolver.resolveAndUnpack(ResourceResolver.java:357)
at
org.apache.maven.plugin.javadoc.resolver.ResourceResolver.resolveFromArtifacts(ResourceResolver.java:302)
at
org.apache.maven.plugin.javadoc.resolver.ResourceResolver.resolveDependencySourcePaths(ResourceResolver.java:143)
at
org.apache.maven.plugin.javadoc.AbstractJavadocMojo.getDependencySourcePaths(AbstractJavadocMojo.java:2169)
at
org.apache.maven.plugin.javadoc.AbstractJavadocMojo.getSourcePaths(AbstractJavadocMojo.java:2058)
at
org.apache.maven.plugin.javadoc.JavadocReport.canGenerateReport(JavadocReport.java:213)
at
org.apache.maven.plugins.site.DefaultMavenReportExecutor.canGenerateReport(DefaultMavenReportExecutor.java:299)
at
org.apache.maven.plugins.site.DefaultMavenReportExecutor.buildMavenReports(DefaultMavenReportExecutor.java:278)
{noformat}
Cause is the following container scenario:
{noformat}
maven-realm
site-plugin-realm <-- plexus lookup realm
javadoc-plugin-realm <-- TCCL
{noformat}
where both the Site Plugin and the Javadoc Plugin depend on plexus-archiver.
The way the container resolves string-based roles is to first check the lookup
realm, then the TCCL for the interface/component. In the setup above, this ends
up using components from the Site Plugin for the execution of the Javadoc
Plugin, boom.
After talking with Stuart, the fix seems to be as simple as just nullifying the
lookup realm, thereby consequently using the TCCL for the lookups.
--
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