You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Mark Langley <ml...@casebank.com> on 2003/06/24 20:54:43 UTC

Classloader problems when writing plugin

Two questions:

#1: I've written a plugin to integrate jCoverage (http://www.jcoverage.com)
with Maven. The plugin itself works fine, but I get a class loader conflict
later on in the run:

xdoc:generate-from-pom:
    [echo] Generating xdocs from POM ...

BUILD FAILED
null:58:30: <attainGoal> null:25:30: <attainGoal> null:363:9:
<velocity:merge> Class org/apache/log4j/Layout violates loader constraints
Total time: 1 minutes 48 seconds

If I disable jCoverage the build executes flawlessly.

I've confirmed that I'm using the correct (root) classloader in the plugin's
project.xml (see below). Is there anything else I should consider in
troubleshooting this?

#2: Once this is working, is it best donated back to maven.apache.org or to
the maven-plugins.sourceforge.net group? I vaguely remember some discussion
on the list about keeping GPL dependencies out of the Jakarta codebase...?

Thanks for any assistance.

Mark Langley



(Plugin's project.xml dependencies follow...)

  <dependencies>
    <dependency>
      <id>jcoverage</id>
      <version>1.0.4</version>
      <properties>
        <classloader>root</classloader>
      </properties>
    </dependency>
    <dependency>
      <id>log4j</id>
      <version>1.2.7</version>
      <properties>
        <classloader>root</classloader>
      </properties>
    </dependency>
    <dependency>
      <id>bcel</id>
      <version>5.0</version>
      <properties>
        <classloader>root</classloader>
      </properties>
    </dependency>
    <dependency>
      <id>oro</id>
      <version>2.0.7</version>
      <properties>
        <classloader>root</classloader>
      </properties>
    </dependency>
    <dependency>
      <id>java-getopt</id>
      <version>1.0.9</version>
      <properties>
        <classloader>root</classloader>
      </properties>
    </dependency>
  </dependencies>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


RE: Classloader problems when writing plugin

Posted by Alexei Barantsev <ba...@ispras.ru>.
It seems that jCoverage uses log4j and that causes the collision.

Try launching jCoverage in separate JVM (fork="true")

-- 
Alexei Barantsev, ISP RAS
E-mail: barancev@ispras.ru
ICQ   : 3959207


  > -----Original Message-----
  > From: Mark Langley [mailto:mlangley@casebank.com] 
  > Sent: Tuesday, June 24, 2003 10:55 PM
  > To: Maven Developers List
  > Subject: Classloader problems when writing plugin
  > 
  > 
  > Two questions:
  > 
  > #1: I've written a plugin to integrate jCoverage 
  > (http://www.jcoverage.com) with Maven. The plugin itself 
  > works fine, but I get a class loader conflict later on in the run:
  > 
  > xdoc:generate-from-pom:
  >     [echo] Generating xdocs from POM ...
  > 
  > BUILD FAILED
  > null:58:30: <attainGoal> null:25:30: <attainGoal> 
  > null:363:9: <velocity:merge> Class org/apache/log4j/Layout 
  > violates loader constraints Total time: 1 minutes 48 seconds
  > 
  > If I disable jCoverage the build executes flawlessly.
  > 
  > I've confirmed that I'm using the correct (root) 
  > classloader in the plugin's project.xml (see below). Is 
  > there anything else I should consider in troubleshooting this?
  > 
  > #2: Once this is working, is it best donated back to 
  > maven.apache.org or to the maven-plugins.sourceforge.net 
  > group? I vaguely remember some discussion on the list about 
  > keeping GPL dependencies out of the Jakarta codebase...?
  > 
  > Thanks for any assistance.
  > 
  > Mark Langley
  > 
  > 
  > 
  > (Plugin's project.xml dependencies follow...)
  > 
  >   <dependencies>
  >     <dependency>
  >       <id>jcoverage</id>
  >       <version>1.0.4</version>
  >       <properties>
  >         <classloader>root</classloader>
  >       </properties>
  >     </dependency>
  >     <dependency>
  >       <id>log4j</id>
  >       <version>1.2.7</version>
  >       <properties>
  >         <classloader>root</classloader>
  >       </properties>
  >     </dependency>
  >     <dependency>
  >       <id>bcel</id>
  >       <version>5.0</version>
  >       <properties>
  >         <classloader>root</classloader>
  >       </properties>
  >     </dependency>
  >     <dependency>
  >       <id>oro</id>
  >       <version>2.0.7</version>
  >       <properties>
  >         <classloader>root</classloader>
  >       </properties>
  >     </dependency>
  >     <dependency>
  >       <id>java-getopt</id>
  >       <version>1.0.9</version>
  >       <properties>
  >         <classloader>root</classloader>
  >       </properties>
  >     </dependency>
  >   </dependencies>
  > 
  > 
  > ------------------------------------------------------------
  > ---------
  > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
  > For additional commands, e-mail: dev-help@maven.apache.org
  > 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org