You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Eric Pugh <ep...@upstate.com> on 2003/11/14 16:04:26 UTC

Running JCoverage Plugin with Merlinized components

Hi all,

I have finished upgrading a couple Fulcrum components Merlin: mimetype,
localization, configuration.  I go to build the site and bamn, everything
blows up when attempting to run the unit tests with JCoverage.  Which was a
real disappointment as I love JCoverage...

Anyone run anything successfully using JCoverage?  If I run 'maven test',
everything is fine, but if I run 'maven site' with the JCoverage plugin I
get errors like what I posted below.

Now, my theory is that this is happening because JCoverage is instrumenting
the code, and wants to be the classloader.  But Merlin is the class loader.
And then a spitting match occurs then ends up with a
java.lang.NoClassDefFoundError.

Comments?  Suggestions?  Not having JCoverage of components that are run
under Merlin is a real bummer.

Eric



Testsuite: org.apache.fulcrum.mimetype.MimetypeTest
Tests run: 3, Failures: 3, Errors: 0, Time elapsed: 0.03 sec

Testcase: warning took 0.01 sec
	FAILED
Exception in constructor: testGetCharSet
(org.apache.avalon.merlin.unit.UnitRuntimeException: Internal error while
attempting to establish the kernel.
-------------------------------------------------------------------
Exception: java.lang.reflect.InvocationTargetException
Message: null

Cause: org.apache.avalon.merlin.kernel.KernelException
Message: Internal error while attempting to establish the kernel.


---- report -------------------------------------------------------

Exception: java.lang.NoClassDefFoundError
Message: org/apache/avalon/composition/logging/impl/FileTargetProvider
---- stack trace ---------------------------------------------------

java.lang.NoClassDefFoundError:
org/apache/avalon/composition/logging/impl/FileTargetProvider
	at
org.apache.avalon.merlin.kernel.impl.DefaultLoader.<init>(DefaultLoader.java
:79)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces
sorImpl.java:39)
	at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
torAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
	at
org.apache.avalon.merlin.unit.DefaultEmbeddedKernel.run(DefaultEmbeddedKerne
l.java:190)
	at java.lang.Thread.run(Thread.java:534)


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


RE: Running JCoverage Plugin with Merlinized components

Posted by Eric Pugh <ep...@upstate.com>.
Okay, it boiled down to two things!
1) Yes, all the old container side implementation classes where fighting
with each other.  I put back in merlin-project.xml until I get all the other
components merlinized.

2) The .xinfo file is generated into /target/classes.  This means when
JCoverage instruments and compiles the code int /jcoverage/classes, it
misses the .xinfo file.  Therefore it fails looking for the .xinfo file.  I
tweaked the the <resources> tag in merlin-project.xml to copy it over which
seems to work.

Thanks,

Eric

> -----Original Message-----
> From: Stephen McConnell [mailto:mcconnell@apache.org]
> Sent: Friday, November 14, 2003 4:26 PM
> To: Avalon Developers List
> Subject: Re: Running JCoverage Plugin with Merlinized components
>
>
>
>  From memory you project.xml file includes an incredible array of
> container side implementation classes.  Just get rid of all of the
> merlin implementation dependency declarations except for the
> merlin-unit
> and you should be a touch more sucessfull.
>
> BTW - this is just a hunch.
>
> Stephen.
>
>
> Eric Pugh wrote:
>
> >Hi all,
> >
> >I have finished upgrading a couple Fulcrum components
> Merlin: mimetype,
> >localization, configuration.  I go to build the site and
> bamn, everything
> >blows up when attempting to run the unit tests with
> JCoverage.  Which was a
> >real disappointment as I love JCoverage...
> >
> >Anyone run anything successfully using JCoverage?  If I run
> 'maven test',
> >everything is fine, but if I run 'maven site' with the
> JCoverage plugin I
> >get errors like what I posted below.
> >
> >Now, my theory is that this is happening because JCoverage
> is instrumenting
> >the code, and wants to be the classloader.  But Merlin is
> the class loader.
> >And then a spitting match occurs then ends up with a
> >java.lang.NoClassDefFoundError.
> >
> >Comments?  Suggestions?  Not having JCoverage of components
> that are run
> >under Merlin is a real bummer.
> >
> >Eric
> >
> >
> >
> >Testsuite: org.apache.fulcrum.mimetype.MimetypeTest
> >Tests run: 3, Failures: 3, Errors: 0, Time elapsed: 0.03 sec
> >
> >Testcase: warning took 0.01 sec
> >	FAILED
> >Exception in constructor: testGetCharSet
> >(org.apache.avalon.merlin.unit.UnitRuntimeException:
> Internal error while
> >attempting to establish the kernel.
> >-------------------------------------------------------------------
> >Exception: java.lang.reflect.InvocationTargetException
> >Message: null
> >
> >Cause: org.apache.avalon.merlin.kernel.KernelException
> >Message: Internal error while attempting to establish the kernel.
> >
> >
> >---- report -------------------------------------------------------
> >
> >Exception: java.lang.NoClassDefFoundError
> >Message:
> org/apache/avalon/composition/logging/impl/FileTargetProvider
> >---- stack trace ---------------------------------------------------
> >
> >java.lang.NoClassDefFoundError:
> >org/apache/avalon/composition/logging/impl/FileTargetProvider
> >	at
> >org.apache.avalon.merlin.kernel.impl.DefaultLoader.<init>(Def
> aultLoader.java
> >:79)
> >	at
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> >	at
> >sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeC
> onstructorAcces
> >sorImpl.java:39)
> >	at
> >sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Del
> egatingConstruc
> >torAccessorImpl.java:27)
> >	at
> java.lang.reflect.Constructor.newInstance(Constructor.java:274)
> >	at
> >org.apache.avalon.merlin.unit.DefaultEmbeddedKernel.run(Defau
> ltEmbeddedKerne
> >l.java:190)
> >	at java.lang.Thread.run(Thread.java:534)
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
> >For additional commands, e-mail: dev-help@avalon.apache.org
> >
> >
> >
> >
>
> --
>
> Stephen J. McConnell
> mailto:mcconnell@apache.org
>
> |------------------------------------------------|
> | Magic by Merlin                                |
> | Production by Avalon                           |
> |                                                |
> | http://avalon.apache.org/merlin                |
> | http://dpml.net/                               |
> |------------------------------------------------|
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
> For additional commands, e-mail: dev-help@avalon.apache.org


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


Re: Running JCoverage Plugin with Merlinized components

Posted by Stephen McConnell <mc...@apache.org>.
 From memory you project.xml file includes an incredible array of 
container side implementation classes.  Just get rid of all of the 
merlin implementation dependency declarations except for the merlin-unit 
and you should be a touch more sucessfull. 

BTW - this is just a hunch.

Stephen.


Eric Pugh wrote:

>Hi all,
>
>I have finished upgrading a couple Fulcrum components Merlin: mimetype,
>localization, configuration.  I go to build the site and bamn, everything
>blows up when attempting to run the unit tests with JCoverage.  Which was a
>real disappointment as I love JCoverage...
>
>Anyone run anything successfully using JCoverage?  If I run 'maven test',
>everything is fine, but if I run 'maven site' with the JCoverage plugin I
>get errors like what I posted below.
>
>Now, my theory is that this is happening because JCoverage is instrumenting
>the code, and wants to be the classloader.  But Merlin is the class loader.
>And then a spitting match occurs then ends up with a
>java.lang.NoClassDefFoundError.
>
>Comments?  Suggestions?  Not having JCoverage of components that are run
>under Merlin is a real bummer.
>
>Eric
>
>
>
>Testsuite: org.apache.fulcrum.mimetype.MimetypeTest
>Tests run: 3, Failures: 3, Errors: 0, Time elapsed: 0.03 sec
>
>Testcase: warning took 0.01 sec
>	FAILED
>Exception in constructor: testGetCharSet
>(org.apache.avalon.merlin.unit.UnitRuntimeException: Internal error while
>attempting to establish the kernel.
>-------------------------------------------------------------------
>Exception: java.lang.reflect.InvocationTargetException
>Message: null
>
>Cause: org.apache.avalon.merlin.kernel.KernelException
>Message: Internal error while attempting to establish the kernel.
>
>
>---- report -------------------------------------------------------
>
>Exception: java.lang.NoClassDefFoundError
>Message: org/apache/avalon/composition/logging/impl/FileTargetProvider
>---- stack trace ---------------------------------------------------
>
>java.lang.NoClassDefFoundError:
>org/apache/avalon/composition/logging/impl/FileTargetProvider
>	at
>org.apache.avalon.merlin.kernel.impl.DefaultLoader.<init>(DefaultLoader.java
>:79)
>	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>	at
>sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces
>sorImpl.java:39)
>	at
>sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
>torAccessorImpl.java:27)
>	at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
>	at
>org.apache.avalon.merlin.unit.DefaultEmbeddedKernel.run(DefaultEmbeddedKerne
>l.java:190)
>	at java.lang.Thread.run(Thread.java:534)
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
>For additional commands, e-mail: dev-help@avalon.apache.org
>
>
>  
>

-- 

Stephen J. McConnell
mailto:mcconnell@apache.org

|------------------------------------------------|
| Magic by Merlin                                |
| Production by Avalon                           |
|                                                |
| http://avalon.apache.org/merlin                |
| http://dpml.net/                               |
|------------------------------------------------|





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