-
New Feature
-
Resolution: Fixed
-
Major
-
None
Hudson maven-plugin doesn't work with Maven 3 on Linux. On Linux Hudson builds its own Java command line and does some additional magic to launch Maven. On Windows it works fine because mvn.bat is used instead.
The mechanism on Linux fails for two reasons:
1. classworlds-*.jar was upgraded to plexus-classworlds-2.2.2 with Maven 3, so the classpath is wrong.
2. plexus-classworlds-2.2.2 is not fully backward compatible. After renaming the jar to classworlds-2.2.2.jar the error is:
$ /opt/java/x86_64/jdk1.6.0_16/bin/java -Xmx768m -XX:MaxPermSize=256m -cp /home/hudson/plugins/maven-plugin/WEB-INF/lib/maven-agent-1.335.jar:/opt/maven/3.0-alpha-5/boot/classworlds-2.2.2.jar hudson.maven.agent.Main /opt/maven/3.0-alpha-5 /usr/share/tomcat5/webapps/hudson/WEB-INF/lib/remoting-1.335.jar /home/hudson/plugins/maven-plugin/WEB-INF/lib/maven-interceptor-1.335.jar 32917
Exception in thread "main" java.lang.NoSuchMethodError: org.codehaus.classworlds.Launcher.getWorld()Lorg/codehaus/classworlds/ClassWorld;
at hudson.maven.agent.Main.main(Main.java:115)
at hudson.maven.agent.Main.main(Main.java:62)
ERROR: Failed to launch Maven. Exit code = 1
Skipping sonar analysis due to bad build status FAILURE
Finished: FAILURE
Reason for the above error is that getWorld() returns a different type in 2.2.2 which isn't assignable to the type returned in 1.x.
A general question: Why does Hudson use different mechanisms for launching Maven on Windows and Linux?
Tested with 1.335
- depends on
-
JENKINS-5360 add a new classloader ("a la" child first for plugin)
-
- Closed
-
- is blocking
-
JENKINS-7734 Hudson : NPEs inconsistently during maven builds
-
- Resolved
-
- is related to
-
JENKINS-8389 Add support for Apache Maven 3.0.1 auto installer
-
- Resolved
-
[JENKINS-4988] Maven 3 support in maven-plugin
Summary | Original: maven-plugin not working with Maven 3 on Linux | New: maven-plugin not working with Maven 3 |
Link |
New:
This issue depends on |
Assignee | New: Olivier Lamy [ olamy ] |
I have to correct myself. It's not working both on Windows and on Linux. The working job I've seen on Windows wasn't a real Maven job but a free-style job with a Maven build step (and that's invoked with mvn.bat).
Any updates on the issue?