Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jenkins unable to run Maven

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.

like image 533
Malki Avatar asked Jun 30 '13 09:06

Malki


People also ask

Can we use Maven and Jenkins together?

Adding Maven to your Jenkins is just as simple as adding any other plugin. Simply install the Maven plugin in Jenkins. This will add a "Build" section to your projects where you can specify exactly what to execute.


2 Answers

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.

like image 181
Malki Avatar answered Sep 24 '22 09:09

Malki


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.

like image 42
Mark O'Connor Avatar answered Sep 22 '22 09:09

Mark O'Connor