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

Cannot run Maven projects from Hudson started using hpi:run on plugin project

XMLWordPrintable

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

      If I run hudson-dev:run on main/war, or start Hudson 1.300 over JNLP, I can
      create a Maven project and run it just fine, using a Maven 1.0.9 installation on
      JDK 6. But if I use hpi:run on plugins/*, when I try to run the project, I get

      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:107)
      at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:727)
      at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:675)
      at hudson.FilePath.act(FilePath.java:600)
      at
      hudson.maven.MavenModuleSetBuild$RunnerImpl.parsePoms(MavenModuleSetBuild.java:425)
      at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:315)
      at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:272)
      at hudson.model.Run.run(Run.java:923)
      at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:234)
      at hudson.model.ResourceController.execute(ResourceController.java:93)
      at hudson.model.Executor.run(Executor.java:119)
      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 hudson.maven.MavenEmbedder.start(MavenEmbedder.java:686)
      ... 11 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)
      ... 13 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)
      ... 16 more
      Caused by: org.codehaus.plexus.component.composition.CompositionException:
      Composition failed of field modelInterpolator in object of type
      org.apache.maven.project.DefaultMavenProjectBuilder because the requirement
      ComponentRequirement

      {role='org.apache.maven.project.interpolation.ModelInterpolator', 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)
      ... 18 more
      Caused by:
      org.codehaus.plexus.component.repository.exception.ComponentLookupException:
      Unable to lookup component
      'org.apache.maven.project.interpolation.ModelInterpolator', 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)
      ... 22 more
      Caused by:
      org.codehaus.plexus.component.factory.ComponentInstantiationException: Could not
      instanciate component: role:
      'org.apache.maven.project.interpolation.ModelInterpolator', implementation:
      'org.apache.maven.project.interpolation.RegexBasedModelInterpolator'
      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)
      ... 23 more
      Caused by: java.lang.NoSuchMethodError:
      org.codehaus.plexus.util.cli.CommandLineUtils.getSystemEnvVars()Ljava/util/Properties;
      at
      org.apache.maven.project.interpolation.RegexBasedModelInterpolator.<init>(RegexBasedModelInterpolator.java:63)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at
      sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      at
      sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      at java.lang.Class.newInstance0(Class.java:355)
      at java.lang.Class.newInstance(Class.java:308)
      at
      org.codehaus.plexus.component.factory.java.JavaComponentFactory.newInstance(JavaComponentFactory.java:44)
      ... 27 more

      Looking at

      http://fisheye.codehaus.org/browse/plexus/plexus-utils/trunk/src/main/java/org/codehaus/plexus/util/cli/CommandLineUtils.java

      I can see that the method in question was added in plexus-utils-1.0.5. But where
      is an older version of this library coming from? I cannot find any reference to
      it in Hudson sources, and the actual jobs/.work/plugins/maven-plugin.hpi
      contains plexus-utils-1.5.1.jar, which has the method.

            Unassigned Unassigned
            jglick Jesse Glick
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: