Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-3706

Maven2-based build fails with "Cannot lookup required component" when run on slave

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • maven-plugin
    • None
    • Platform: All, OS: All

      Maven2-based build fails with "Cannot lookup required component" when run on slave
      in Hudson ver. 1.306 - in 1.304 it seemed to be OK.

      The message is:

      Parsing POMs
      ERROR: Failed to parse POMs
      org.apache.maven.embedder.MavenEmbedderException: Cannot lookup required component.
      at hudson.maven.MavenEmbedder.start(MavenEmbedder.java:722)
      at hudson.maven.MavenUtil.createEmbedder(MavenUtil.java:116)
      at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:728)
      at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:676)
      at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1638)
      at hudson.remoting.UserRequest.perform(UserRequest.java:103)
      at hudson.remoting.UserRequest.perform(UserRequest.java:47)
      at hudson.remoting.Request$2.run(Request.java:236)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at
      java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:619)
      Caused by:
      org.codehaus.plexus.component.repository.exception.ComponentLookupException:
      Unable to lookup component 'org.apache.maven.lifecycle.LifecycleExecutor', 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 hudson.maven.MavenEmbedder.start(MavenEmbedder.java:700)
      ... 13 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)
      ... 15 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)
      ... 18 more
      Caused by: org.codehaus.plexus.component.composition.CompositionException:
      Component composition failed. No field of type: 'interface
      org.apache.maven.project.MavenProjectBuilder' exists in class
      'org.apache.maven.lifecycle.LifecycleExecutorInterceptor'. Component: role:
      'org.apache.maven.lifecycle.LifecycleExecutor', implementation:
      'org.apache.maven.lifecycle.LifecycleExecutorInterceptor'
      at
      org.codehaus.plexus.component.composition.FieldComponentComposer.getFieldByType(FieldComponentComposer.java:305)
      at
      org.codehaus.plexus.component.composition.FieldComponentComposer.findMatchingField(FieldComponentComposer.java:204)
      at
      org.codehaus.plexus.component.composition.FieldComponentComposer.assembleComponent(FieldComponentComposer.java:62)
      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)
      ... 20 more
      Finished: FAILURE

      mvn -version
      Maven version: 2.0.10
      Java version: 1.6.0_13
      OS name: "linux" version: "2.6.21-2952xen" arch: "amd64" Family: "unix"

          [JENKINS-3706] Maven2-based build fails with "Cannot lookup required component" when run on slave

          adding myself as CC

          Krystian Nowak added a comment - adding myself as CC

          Alan Harder added a comment -

          I got an exception like this (same "caused by" message) trying to run unit tests
          for sidebar-link plugin (which isn't related to maven at all). Test ran ok when
          I changed the pom to use hudson 1.304 instead of 1.307.

          Alan Harder added a comment - I got an exception like this (same "caused by" message) trying to run unit tests for sidebar-link plugin (which isn't related to maven at all). Test ran ok when I changed the pom to use hudson 1.304 instead of 1.307.

          Which version of Maven did you use?

          Kohsuke Kawaguchi added a comment - Which version of Maven did you use?

          Alan Harder added a comment -

          oops, in my case it was maven 2.0.6.. I didn't realize the version on OSX is
          old; I've only done compiles on OSX before and hadn't hit any problems. Tried
          the tests on mavn 2.0.9 / S10-sparc, ran fine.

          Alan Harder added a comment - oops, in my case it was maven 2.0.6.. I didn't realize the version on OSX is old; I've only done compiles on OSX before and hadn't hit any problems. Tried the tests on mavn 2.0.9 / S10-sparc, ran fine.

          thedotedge added a comment -

          Got similar exception:
          ERROR: Failed to parse POMs
          org.apache.maven.embedder.MavenEmbedderException: Cannot lookup required component.
          at hudson.maven.MavenEmbedder.start(MavenEmbedder.java:722)
          at hudson.maven.MavenUtil.createEmbedder(MavenUtil.java:116)
          at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:728)
          at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:676)
          at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1642)
          at hudson.remoting.UserRequest.perform(UserRequest.java:103)
          at hudson.remoting.UserRequest.perform(UserRequest.java:47)
          at hudson.remoting.Request$2.run(Request.java:236)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
          at java.util.concurrent.FutureTask.run(FutureTask.java:123)
          at
          java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
          at java.lang.Thread.run(Thread.java:595)
          Caused by:
          org.codehaus.plexus.component.repository.exception.ComponentLookupException:
          Unable to lookup component 'org.apache.maven.lifecycle.LifecycleExecutor', 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 hudson.maven.MavenEmbedder.start(MavenEmbedder.java:700)
          ... 13 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)
          ... 15 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)
          ... 18 more
          Caused by: org.codehaus.plexus.component.composition.CompositionException:
          Component composition failed. No field of type: 'interface
          org.apache.maven.project.MavenProjectBuilder' exists in class
          'org.apache.maven.lifecycle.LifecycleExecutorInterceptor'. Component: role:
          'org.apache.maven.lifecycle.LifecycleExecutor', implementation:
          'org.apache.maven.lifecycle.LifecycleExecutorInterceptor'
          at
          org.codehaus.plexus.component.composition.FieldComponentComposer.getFieldByType(FieldComponentComposer.java:305)
          at
          org.codehaus.plexus.component.composition.FieldComponentComposer.findMatchingField(FieldComponentComposer.java:204)
          at
          org.codehaus.plexus.component.composition.FieldComponentComposer.assembleComponent(FieldComponentComposer.java:62)
          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)
          ... 20 more
          Finished: FAILURE

          Master (1.307):
          Apache Maven 2.1.0 (r755702; 2009-03-18 20:10:27+0100)
          Java version: 1.5.0_17
          Java home: /local/java/jdk1.5.0_17/jre
          Default locale: en_US, platform encoding: UTF-8
          OS name: "linux" version: "2.6.18-92.el5" arch: "i386" Family: "unix"

          Slave:

          Apache Maven 2.1.0 (r755702; 2009-03-18 21:10:27+0200)
          Java version: 1.5.0_19
          Java home: /local/java/jdk1.5.0_19/jre
          Default locale: en_US, platform encoding: UTF-8
          OS name: "linux" version: "2.6.18-128.1.6.el5" arch: "amd64" Family: "unix"

          thedotedge added a comment - Got similar exception: ERROR: Failed to parse POMs org.apache.maven.embedder.MavenEmbedderException: Cannot lookup required component. at hudson.maven.MavenEmbedder.start(MavenEmbedder.java:722) at hudson.maven.MavenUtil.createEmbedder(MavenUtil.java:116) at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:728) at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:676) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1642) at hudson.remoting.UserRequest.perform(UserRequest.java:103) at hudson.remoting.UserRequest.perform(UserRequest.java:47) at hudson.remoting.Request$2.run(Request.java:236) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) Caused by: org.codehaus.plexus.component.repository.exception.ComponentLookupException: Unable to lookup component 'org.apache.maven.lifecycle.LifecycleExecutor', 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 hudson.maven.MavenEmbedder.start(MavenEmbedder.java:700) ... 13 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) ... 15 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) ... 18 more Caused by: org.codehaus.plexus.component.composition.CompositionException: Component composition failed. No field of type: 'interface org.apache.maven.project.MavenProjectBuilder' exists in class 'org.apache.maven.lifecycle.LifecycleExecutorInterceptor'. Component: role: 'org.apache.maven.lifecycle.LifecycleExecutor', implementation: 'org.apache.maven.lifecycle.LifecycleExecutorInterceptor' at org.codehaus.plexus.component.composition.FieldComponentComposer.getFieldByType(FieldComponentComposer.java:305) at org.codehaus.plexus.component.composition.FieldComponentComposer.findMatchingField(FieldComponentComposer.java:204) at org.codehaus.plexus.component.composition.FieldComponentComposer.assembleComponent(FieldComponentComposer.java:62) 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) ... 20 more Finished: FAILURE Master (1.307): Apache Maven 2.1.0 (r755702; 2009-03-18 20:10:27+0100) Java version: 1.5.0_17 Java home: /local/java/jdk1.5.0_17/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux" version: "2.6.18-92.el5" arch: "i386" Family: "unix" Slave: Apache Maven 2.1.0 (r755702; 2009-03-18 21:10:27+0200) Java version: 1.5.0_19 Java home: /local/java/jdk1.5.0_19/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux" version: "2.6.18-128.1.6.el5" arch: "amd64" Family: "unix"

          Code changed in hudson
          User: : kohsuke
          Path:
          branches/rc/maven-interceptor/src/main/resources/META-INF/plexus/components.xml
          branches/rc/maven-plugin/pom.xml
          branches/rc/maven-plugin/src/main/java/hudson/maven/MavenUtil.java
          trunk/www/changelog.html
          http://fisheye4.cenqua.com/changelog/hudson/?cs=18481
          Log:
          [FIXED JENKINS-3706]
          MaskingClassLoader that's supposed to throw awy components.xml for interceptions are still kicking in when MavenEmbedder run on slaves, as RemoteClassLoader mangles the URL that the MaskingClassLoader was looking for.

          SCM/JIRA link daemon added a comment - Code changed in hudson User: : kohsuke Path: branches/rc/maven-interceptor/src/main/resources/META-INF/plexus/components.xml branches/rc/maven-plugin/pom.xml branches/rc/maven-plugin/src/main/java/hudson/maven/MavenUtil.java trunk/www/changelog.html http://fisheye4.cenqua.com/changelog/hudson/?cs=18481 Log: [FIXED JENKINS-3706] MaskingClassLoader that's supposed to throw awy components.xml for interceptions are still kicking in when MavenEmbedder run on slaves, as RemoteClassLoader mangles the URL that the MaskingClassLoader was looking for.

            Unassigned Unassigned
            krystian_nowak Krystian Nowak
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: