You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Benjamin Bentmann (JIRA)" <ji...@codehaus.org> on 2008/10/14 22:45:51 UTC

[jira] Commented: (MNG-1898) Plugin classpath broken from 2.0 to 2.0.1

    [ http://jira.codehaus.org/browse/MNG-1898?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=150809#action_150809 ] 

Benjamin Bentmann commented on MNG-1898:
----------------------------------------

bq. the problem appeared to be that the RealmDelegatingClassLoader included the system classpath, which would have conflicted with Xerces, as best I can guess.
Actually, the {{RealmDelegatingClassLoader}} wasn't really delegating. The call hierarchy looked like
{noformat}
client calls ClassLoader.loadClass(String)
  ClassLoader.loadClass(String) calls this.loadClass(String, boolean)
  ClassLoader.loadClass(String, boolean) calls parent.loadClass(String, boolean)
    RealmDelegatingClassLoader.loadClass(String, boolean) calls parent.loadClass(String, boolean)  UPS
{noformat}
{{RealmDelegatingClassLoader}} didn't override the overload {{loadClass(String, boolean)}} and as such never called into {{ClassRealm.loadClass()}} which would have provided the requested Xerces implementation from the plugin dependencies.

> Plugin classpath broken from 2.0 to 2.0.1
> -----------------------------------------
>
>                 Key: MNG-1898
>                 URL: http://jira.codehaus.org/browse/MNG-1898
>             Project: Maven 2
>          Issue Type: Bug
>         Environment: winxp
>            Reporter: Brian Fox
>            Priority: Blocker
>             Fix For: 2.0.3
>
>         Attachments: automatedTestCase.zip, it0100.tar.gz, MNG-1898-coreit.tar.bz2, mng-1898-for-2.1-take2.patch, test-1.0.zip, test-case.zip
>
>
> I'm working on a kodo plugin in the codehaus mojo sandbox. Using 2.0, it works fine. In 2.1, it can't find xercesImpl, which is a transitive dependency of the plugin. Did something change to cause new behavior (aka a bug) related to this? Just eyeballing the info below, in 2.0, the instance of classloader was  org.codehaus.classworlds.RealmClassLoader but in 2.0.1 it is org.codehaus.plexus.util.RealmDelegatingClassLoader
>  
> I tried specifying xercesImpl as a direct dependency and that didn't work either so I'm not sure it's related to the transitivity.
>  
> Output from 2.0.1: (2.0 follows further below)
>  
> [DEBUG] org.codehaus.mojo:kodo-maven-plugin:maven-plugin:1.0-alpha-1-SNAPSHOT (selected for runtime)
> [DEBUG]   org.apache.maven:maven-model:jar:2.0 (selected for runtime)
> [DEBUG]     org.codehaus.plexus:plexus-utils:jar:1.0.4 (selected for runtime)
> [DEBUG] Skipping disabled repository snapshots
> [DEBUG]   com.solarmetric:kodo-jdo:jar:3.3.3 (setting version to: 3.3.3 from range: [3.0,])
> [DEBUG]   com.solarmetric:kodo-jdo:jar:3.3.3 (selected for runtime)
> [DEBUG]     com.solarmetric:kodo-wl81manage:jar:1.0 (selected for runtime)
> [DEBUG]     com.solarmetric:kodo-workbench:jar:1.0 (selected for runtime)
> [DEBUG]     org.hsqldb:jdbc-hsql:jar:1.7.0 (selected for runtime)
> [DEBUG]     sqlline:sqlline:jar:1.0 (selected for runtime)
> [DEBUG]     jcommon:jcommon:jar:0.9.1 (selected for runtime)
> [DEBUG]     javax.jdo:jdo:jar:1.0.2 (selected for runtime)
> [DEBUG]     xalan:xalan:jar:2.5.1 (selected for runtime)
> [DEBUG]     jfreechart:jfreechart:jar:0.9.16 (selected for runtime)
> [DEBUG]     com.solarmetric:kodo-jdo-runtime:jar:3.3.3 (selected for runtime)
> [DEBUG]     javax.sql:jdbc-stdext:jar:2.0 (selected for runtime)
> [DEBUG]     jline:jline:jar:0.9.1 (selected for runtime)
> [DEBUG]     mx4j:mx4j-jmx:jar:1.1.1 (selected for runtime)
> [DEBUG]     jta-spec:jta-spec:jar:1.0.1 (selected for runtime)
> [WARNING] While downloading xml-apis:xml-apis:2.0.0
>   This artifact has been relocated to xml-apis:xml-apis:1.0.b2.
>  
> [DEBUG]     xml-apis:xml-apis:jar:1.0.b2 (selected for runtime)
> [DEBUG]     xerces:xercesImpl:jar:2.5.0 (selected for runtime)
> [DEBUG]     jca:jca:jar:1.0.0 (selected for runtime)
> [DEBUG]     mx4j:mx4j-tools:jar:1.1.1 (selected for runtime)
> [DEBUG]     jndi:jndi:jar:1.2.1 (selected for runtime)
> [DEBUG] Skipping disabled repository snapshots
> [DEBUG]   log4j:log4j:jar:1.2.12 (setting version to: 1.2.12 from range: [1.2.9,])
> [DEBUG]   log4j:log4j:jar:1.2.12 (selected for runtime)
> [DEBUG]   org.apache.maven:maven-plugin-api:jar:2.0 (selected for runtime)
> [DEBUG] Configuring mojo 'org.codehaus.mojo:kodo-maven-plugin:1.0-alpha-1-SNAPSHOT:enhance' -->
> [DEBUG]   (f) classDir = E:\STC\svn\modules\services\supplementaldata-jdo\trunk\target\classes
> [DEBUG]   (f) resources = [org.apache.maven.model.Resource@acb158]
> [DEBUG]   (f) searchDir = E:\STC\svn\modules\services\supplementaldata-jdo\trunk\target\classes
> [DEBUG] -- end configuration --
> [INFO] [kodo:enhance {execution: kodo-enhance}]
> [info] Found file:E:\STC\svn\modules\services\supplementaldata-jdo\trunk\target\classes\com\stchome\application\supplementalforms\persist\persist.jdo
> [info] org.codehaus.plexus.util.RealmDelegatingClassLoader@16dfa45
> [debug] Added to Classpath:
> [debug] /E:/STC/svn/modules/services/supplementaldata-jdo/trunk/src/main/resources/
> [debug] /E:/STC/svn/modules/services/supplementaldata-jdo/trunk/target/classes/
> [INFO] ----------------------------------------------------------------------------
> [ERROR] FATAL ERROR
> [INFO] ----------------------------------------------------------------------------
> [INFO] Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
> [INFO] ----------------------------------------------------------------------------
> [DEBUG] Trace
> javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
>  at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:93)
>  at serp.xml.XMLFactory.checkSAXCache(XMLFactory.java:217)
>  at serp.xml.XMLFactory.getSAXParser(XMLFactory.java:66)
>  at com.solarmetric.meta.XMLMetaDataParser.parseNew(XMLMetaDataParser.java:354)
>  at com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:320)
>  at com.solarmetric.meta.ClassArgParser.getFromMetaData(ClassArgParser.java:182)
>  at com.solarmetric.meta.ClassArgParser.parseClassNames(ClassArgParser.java:98)
>  at com.solarmetric.meta.ClassArgParser.parseClasses(ClassArgParser.java:74)
>  at kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2657)
>  
>  
> 2.0 Output:
> [DEBUG] org.codehaus.mojo:kodo-maven-plugin:maven-plugin:1.0-alpha-1-SNAPSHOT (selected for runtime)
> [DEBUG]   org.apache.maven:maven-model:jar:2.0 (selected for runtime)
> [DEBUG]     org.codehaus.plexus:plexus-utils:jar:1.0.4 (selected for runtime)
> [DEBUG] Skipping disabled repository snapshots
> [DEBUG]   com.solarmetric:kodo-jdo:jar:3.3.3 (setting version to: 3.3.3 from range: [3.0,])
> [DEBUG]   com.solarmetric:kodo-jdo:jar:3.3.3 (selected for runtime)
> [DEBUG]     com.solarmetric:kodo-wl81manage:jar:1.0 (selected for runtime)
> [DEBUG]     com.solarmetric:kodo-workbench:jar:1.0 (selected for runtime)
> [DEBUG]     org.hsqldb:jdbc-hsql:jar:1.7.0 (selected for runtime)
> [DEBUG]     sqlline:sqlline:jar:1.0 (selected for runtime)
> [DEBUG]     jcommon:jcommon:jar:0.9.1 (selected for runtime)
> [DEBUG]     javax.jdo:jdo:jar:1.0.2 (selected for runtime)
> [DEBUG]     xalan:xalan:jar:2.5.1 (selected for runtime)
> [DEBUG]     jfreechart:jfreechart:jar:0.9.16 (selected for runtime)
> [DEBUG]     com.solarmetric:kodo-jdo-runtime:jar:3.3.3 (selected for runtime)
> [DEBUG]     javax.sql:jdbc-stdext:jar:2.0 (selected for runtime)
> [DEBUG]     jline:jline:jar:0.9.1 (selected for runtime)
> [DEBUG]     mx4j:mx4j-jmx:jar:1.1.1 (selected for runtime)
> [DEBUG]     jta-spec:jta-spec:jar:1.0.1 (selected for runtime)
> [WARNING] 
>   This artifact has been relocated to xml-apis:xml-apis:1.0.b2.
>  
> [DEBUG]     xml-apis:xml-apis:jar:1.0.b2 (selected for runtime)
> [DEBUG]     xerces:xercesImpl:jar:2.5.0 (selected for runtime)
> [DEBUG]     jca:jca:jar:1.0.0 (selected for runtime)
> [DEBUG]     mx4j:mx4j-tools:jar:1.1.1 (selected for runtime)
> [DEBUG]     jndi:jndi:jar:1.2.1 (selected for runtime)
> [DEBUG] Skipping disabled repository snapshots
> [DEBUG]   log4j:log4j:jar:1.2.12 (setting version to: 1.2.12 from range: [1.2.9,])
> [DEBUG]   log4j:log4j:jar:1.2.12 (selected for runtime)
> [DEBUG]   org.apache.maven:maven-plugin-api:jar:2.0 (selected for runtime)
> [DEBUG] Configuring mojo 'org.codehaus.mojo:kodo-maven-plugin:1.0-alpha-1-SNAPSHOT:enhance' -->
> [DEBUG]   (f) classDir = E:\STC\svn\modules\services\supplementaldata-jdo\trunk\target\classes
> [DEBUG]   (f) resources = [org.apache.maven.model.Resource@39e5b5]
> [DEBUG]   (f) searchDir = E:\STC\svn\modules\services\supplementaldata-jdo\trunk\target\classes
> [DEBUG] -- end configuration --
> [INFO] [kodo:enhance {execution: kodo-enhance}]
> [info] Found file:E:\STC\svn\modules\services\supplementaldata-jdo\trunk\target\classes\com\stchome\application\supplementalforms\persist\persist.jdo
> [info] org.codehaus.classworlds.RealmClassLoader@589e56
> [debug] Added to Classpath:
> [debug] /E:/STC/svn/modules/services/supplementaldata-jdo/trunk/src/main/resources/
> [debug] /E:/STC/svn/modules/services/supplementaldata-jdo/trunk/target/classes/
> 0     INFO  [main] kodo.Tool - JDO enhancer running on type "class com.stchome.application.supplementalforms.persist.FormOwnerAssociation".

-- 
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