Hello, 
I am trying to add some integration tests for a plugin I wrote, using
MavenEmbedder. When running the test, I got the following impressive
exception trace:

-------------------------------------------------------------------------------
Test set: oqube.patchwork.it.PatchworkMavenTest
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.662 sec <<< 
FAILURE!
test01(oqube.patchwork.it.PatchworkMavenTest)  Time elapsed: 0.623 sec  <<< 
ERROR!
org.apache.maven.embedder.MavenEmbedderException: Cannot lookup required 
component.
        at org.apache.maven.embedder.MavenEmbedder.start(MavenEmbedder.java:644)
        at 
oqube.patchwork.it.PatchworkMavenTest.setUp(PatchworkMavenTest.java:48)
        at junit.framework.TestCase.runBare(TestCase.java:125)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at 
org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:210)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:135)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:122)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:129)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at 
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:225)
        at 
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:747)
Caused by: 
org.codehaus.plexus.component.repository.exception.ComponentLookupException: 
Unable to lookup component 'org.apache.maven.project.MavenProjectBuilder', it 
could not be started
        at 
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:339)
        at org.codehaus.plexus.embed.Embedder.lookup(Embedder.java:78)
        at org.apache.maven.embedder.MavenEmbedder.start(MavenEmbedder.java:610)
        ... 22 more
Caused by: 
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException: 
Error starting component
        at 
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:109)
        at 
org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:95)
        at 
org.codehaus.plexus.component.manager.ClassicSingletonComponentManager.getComponent(ClassicSingletonComponentManager.java:92)
        at 
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:331)
        ... 24 more
Caused by: 
org.codehaus.plexus.personality.plexus.lifecycle.phase.PhaseExecutionException: 
Error composing component
        at 
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:33)
        at 
org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:101)
        at 
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:105)
        ... 27 more
Caused by: org.codehaus.plexus.component.composition.CompositionException: 
Composition failed of field artifactResolver in object of type 
org.apache.maven.project.DefaultMavenProjectBuilder because the requirement 
ComponentRequirement{role='org.apache.maven.artifact.resolver.ArtifactResolver',
 roleHint='null', fieldName='null'} was missing
        at 
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:154)
        at 
org.codehaus.plexus.component.composition.FieldComponentComposer.assembleComponent(FieldComponentComposer.java:73)
        at 
org.codehaus.plexus.component.composition.DefaultComponentComposerManager.assembleComponent(DefaultComponentComposerManager.java:68)
        at 
org.codehaus.plexus.DefaultPlexusContainer.composeComponent(DefaultPlexusContainer.java:1486)
        at 
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:29)
        ... 29 more
Caused by: 
org.codehaus.plexus.component.repository.exception.ComponentLookupException: 
Unable to lookup component 
'org.apache.maven.artifact.resolver.ArtifactResolver', it could not be created
        at 
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:335)
        at 
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:129)
        ... 33 more
Caused by: 
org.codehaus.plexus.component.factory.ComponentInstantiationException: Could 
not instanciate component: role: 
'org.apache.maven.artifact.resolver.ArtifactResolver', implementation: 
'org.apache.maven.artifact.resolver.DefaultArtifactResolver'
        at 
org.codehaus.plexus.component.factory.java.JavaComponentFactory.makeException(JavaComponentFactory.java:77)
        at 
org.codehaus.plexus.component.factory.java.JavaComponentFactory.newInstance(JavaComponentFactory.java:62)
        at 
org.codehaus.plexus.DefaultPlexusContainer.createComponentInstance(DefaultPlexusContainer.java:1464)
        at 
org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:93)
        at 
org.codehaus.plexus.component.manager.ClassicSingletonComponentManager.getComponent(ClassicSingletonComponentManager.java:92)
        at 
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:331)
        ... 34 more
Caused by: java.lang.NoClassDefFoundError: 
org/apache/maven/artifact/resolver/MultipleArtifactsNotFoundException
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
        at java.lang.Class.getConstructor0(Class.java:2640)
        at java.lang.Class.newInstance0(Class.java:321)
        at java.lang.Class.newInstance(Class.java:303)
        at 
org.codehaus.plexus.component.factory.java.JavaComponentFactory.newInstance(JavaComponentFactory.java:44)
        ... 38 more


When running the same test in Eclipse, I got:


org.apache.maven.embedder.MavenEmbedderException: Cannot lookup required 
component.
        at org.apache.maven.embedder.MavenEmbedder.start(MavenEmbedder.java:644)
        at 
oqube.patchwork.it.PatchworkMavenTest.setUp(PatchworkMavenTest.java:49)
        at junit.framework.TestCase.runBare(TestCase.java:125)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        at 
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
        at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: 
org.codehaus.plexus.component.repository.exception.ComponentLookupException: 
Unable to lookup component 'org.apache.maven.project.MavenProjectBuilder', it 
could not be started
        at 
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:339)
        at org.codehaus.plexus.embed.Embedder.lookup(Embedder.java:78)
        at org.apache.maven.embedder.MavenEmbedder.start(MavenEmbedder.java:610)
        ... 14 more
Caused by: 
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException: 
Error starting component
        at 
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:109)
        at 
org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:95)
        at 
org.codehaus.plexus.component.manager.ClassicSingletonComponentManager.getComponent(ClassicSingletonComponentManager.java:92)
        at 
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:331)
        ... 16 more
Caused by: 
org.codehaus.plexus.personality.plexus.lifecycle.phase.PhaseExecutionException: 
Error composing component
        at 
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:33)
        at 
org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:101)
        at 
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:105)
        ... 19 more
Caused by: org.codehaus.plexus.component.composition.CompositionException: 
Composition failed of field profilesBuilder in object of type 
org.apache.maven.project.DefaultMavenProjectBuilder because the requirement 
ComponentRequirement{role='org.apache.maven.profiles.MavenProfilesBuilder', 
roleHint='null', fieldName='null'} was missing
        at 
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:154)
        at 
org.codehaus.plexus.component.composition.FieldComponentComposer.assembleComponent(FieldComponentComposer.java:73)
        at 
org.codehaus.plexus.component.composition.DefaultComponentComposerManager.assembleComponent(DefaultComponentComposerManager.java:68)
        at 
org.codehaus.plexus.DefaultPlexusContainer.composeComponent(DefaultPlexusContainer.java:1486)
        at 
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:29)
        ... 21 more
Caused by: 
org.codehaus.plexus.component.repository.exception.ComponentLookupException: 
Unable to lookup component 'org.apache.maven.profiles.MavenProfilesBuilder', it 
could not be created
        at 
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:335)
        at 
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:129)
        ... 25 more
Caused by: 
org.codehaus.plexus.component.factory.ComponentInstantiationException: Could 
not instanciate component: role: 
'org.apache.maven.profiles.MavenProfilesBuilder', implementation: 
'org.apache.maven.profiles.DefaultMavenProfilesBuilder'
        at 
org.codehaus.plexus.component.factory.java.JavaComponentFactory.makeException(JavaComponentFactory.java:77)
        at 
org.codehaus.plexus.component.factory.java.JavaComponentFactory.newInstance(JavaComponentFactory.java:62)
        at 
org.codehaus.plexus.DefaultPlexusContainer.createComponentInstance(DefaultPlexusContainer.java:1464)
        at 
org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:93)
        at 
org.codehaus.plexus.component.manager.ClassicSingletonComponentManager.getComponent(ClassicSingletonComponentManager.java:92)
        at 
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:331)
        ... 26 more
Caused by: java.lang.NoClassDefFoundError: 
org/codehaus/plexus/util/interpolation/ValueSource
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
        at java.lang.Class.getConstructor0(Class.java:2640)
        at java.lang.Class.newInstance0(Class.java:321)
        at java.lang.Class.newInstance(Class.java:303)
        at 
org.codehaus.plexus.component.factory.java.JavaComponentFactory.newInstance(JavaComponentFactory.java:44)
        ... 30 more

Here is my pom:

<project xmlns="http://maven.apache.org/POM/4.0.0"; 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
 <modelVersion>4.0.0</modelVersion>

 <parent>
  <groupId>oqube</groupId>
  <artifactId>patchwork</artifactId>
  <version>2.0-SNAPSHOT</version>
 </parent>

 <groupId>oqube</groupId>
 <artifactId>patchwork-it</artifactId>
 <packaging>jar</packaging>
 <version>2.0-SNAPSHOT</version>
 <name>Integration tests</name>

 <description>
Integration tests for Patchwork.
 </description>


 <dependencies>
  
  <dependency>
   <groupId>org.apache.maven</groupId>
   <artifactId>maven-embedder</artifactId>
   <version>2.0.4</version>
  </dependency>

  <dependency>
   <groupId>oqube.patchwork</groupId>
   <artifactId>patchwork-maven-plugin</artifactId>
   <version>2.0-SNAPSHOT</version>
  </dependency>
  
  <dependency>  
   <groupId>oqube</groupId>
   <artifactId>patchwork-control</artifactId>
   <version>2.0-SNAPSHOT</version>
  </dependency>  
 </dependencies>
  
 <build>
  <plugins>
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
     <excludes>
      <exclude>
      test*/**</exclude></excludes></configuration>
   </plugin></plugins></build>
</project>

I am a bit stuck. Help greatly appreciated.

Regards,
-- 
OQube < software engineering \ génie logiciel >
Arnaud Bailly, Dr.
\web> http://www.oqube.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to