Jenkins unable to run Maven

14,709

Solution 1

Apparently the problem was that I installed the newest alpha version of Maven, which is unstable. With the latest stable version - 3.0.5 - everything works fine.

Solution 2

Here it is:

Caused by: java.lang.NoClassDefFoundError: org/apache/maven/cli/MavenLoggerManager
    at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:73)
    ... 18 more

If you're not letting Jenkins install Maven, then you need to configure the location of the Maven installation it should use.

Share:
14,709
Malki
Author by

Malki

Updated on June 13, 2022

Comments

  • Malki
    Malki almost 2 years

    I followed this tutorial to setting up Jenkins with GIT and Maven (with slight changes because i'm using Linux CenOS).

    I'm trying to test my setup on a Demo Maven project from GitHub

    Jenkins throws an exception when trying to execute Maven. So I tried to git-clone the project and run Maven manually and it works fine.

    So the problem is with Jenkins running Maven. I tried searching google for the problem but couldn't find any useful information.

    My current suspicions are:

    1. Maybe Jenkins doesn't use the correct classpath for executing Maven. This could be due to lack of permission to read files, since Jenkins has it's own user on linux (named jenkins).
    2. Maybe Maven isn't installed correctly. I installed it manually, rather than letting Jenkins install it for me, since I need this setup to be working offline.

    Here is the console output from Jenkins:

    Started by an SCM change
    Building in workspace /var/lib/jenkins/jobs/Omri/workspace
    Checkout:workspace / /var/lib/jenkins/jobs/Omri/workspace - hudson.remoting.LocalChannel@7ff79fae
    Using strategy: Default
    Last Built Revision: Revision af62f13d2374bc00a4b67f7586bfd52b7bda80eb (origin/prepare)
    Fetching changes from 1 remote Git repository
    Fetching upstream changes from origin
    Seen branch in repository origin/HEAD
    Seen branch in repository origin/master
    Seen branch in repository origin/prepare
    Seen 3 remote branches
    Commencing build of Revision a9a1fc4a96d4ac4af3ca5e7e3b7393a6df4bf555 (origin/HEAD, origin/master)
    Checking out Revision a9a1fc4a96d4ac4af3ca5e7e3b7393a6df4bf555 (origin/HEAD, origin/master)
    No change to record in branch origin/HEAD
    No change to record in branch origin/master
    Parsing POMs
    Modules changed, recalculating dependency graph
    [workspace] $ /usr/java/jdk1.7.0_17/bin/java -cp /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.3.jar:/home/jenkins/maven/boot/plexus-classworlds-2.4.2.jar org.jvnet.hudson.maven3.agent.Maven3Main /home/jenkins/maven/ /var/cache/jenkins/war/WEB-INF/lib/remoting-2.24.jar /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-1.3.jar 53953
    <===[JENKINS REMOTING CAPACITY]===>���channel started
    log4j:WARN No appenders could be found for logger (org.apache.commons.beanutils.converters.BooleanConverter).
    log4j:WARN Please initialize the log4j system properly.
    Executing Maven:  -B -f /var/lib/jenkins/jobs/Omri/workspace/pom.xml -Dmaven.repo.local=/var/lib/jenkins/maven-repositories/1 package
    java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:331)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
        at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:174)
        at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
        at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
        at hudson.remoting.UserRequest.perform(UserRequest.java:118)
        at hudson.remoting.UserRequest.perform(UserRequest.java:48)
        at hudson.remoting.Request$2.run(Request.java:326)
        at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)
    Caused by: java.lang.NoClassDefFoundError: org/apache/maven/cli/MavenLoggerManager
        at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:73)
        ... 18 more
    Caused by: java.lang.ClassNotFoundException: org.apache.maven.cli.MavenLoggerManager
        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
        ... 19 more
    channel stopped
    ERROR: Failed to parse POMs
    hudson.util.IOException2: java.lang.reflect.InvocationTargetException
        at hudson.maven.Maven3Builder.call(Maven3Builder.java:162)
        at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
        at hudson.remoting.UserRequest.perform(UserRequest.java:118)
        at hudson.remoting.UserRequest.perform(UserRequest.java:48)
        at hudson.remoting.Request$2.run(Request.java:326)
        at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)
    Caused by: java.lang.Exception: java.lang.reflect.InvocationTargetException
        at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:177)
        at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
        ... 10 more
    Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:331)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
        at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:174)
        ... 11 more
    Caused by: java.lang.NoClassDefFoundError: org/apache/maven/cli/MavenLoggerManager
        at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:73)
        ... 18 more
    Caused by: java.lang.ClassNotFoundException: org.apache.maven.cli.MavenLoggerManager
        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
        ... 19 more
    Finished: FAILURE
    

    Ideas anyone? Thanks.

  • Malki
    Malki almost 11 years
    I did that - As I said, I followed the tutorial in the link, including that configuration
  • rimero
    rimero almost 11 years
    Blatant advertising but still relevant, you can use wrappers uch as the Maven wrapper to automate the Maven installation and setup : github.com/rimerosolutions/maven-wrapper. This is convenient on build machines and helps avoiding common issues such as using unstable or untested Maven versions.
  • Richard Nichols
    Richard Nichols almost 11 years
    This version is stable now, but still doesn't work with Jenkins.
  • Henning
    Henning over 10 years
    Jenkins >= 1.525 should be able to work with Maven 3.1.0 (see issues.jenkins-ci.org/browse/JENKINS-15935)