Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Wrong Maven2 environment variables

Lukas Brückner October 24, 2011

Hello,

I am running the latest Bamboo version 3.3 on a ubuntu 10.10 64bit.

Today I tried to add a Maven2 job to a build plan but I am struggling with some configuration.

First of all, Bamboo 3.3 seems to have a bug with the Maven2 executable: When specifying the correct build path in the capabilities (for me /usr/bin/mvn) the job will try to execute /usr/bin/mvn/bin/mvn . I figured "/bin/mvn" is somehow hardcoded so I changed the build path to just "/usr" and that worked.

However, now I'm struggling with the M2_HOME directive. In the logs I see that Bamboo is setting them to "/usr"

MAVEN2_HOME=/usr
JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.26
M2_HOME=/usr
PATH=/usr/lib/jvm/java-6-sun-1.6.0.26/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

which results in

25-Okt-2011 15:14:50 	Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/classworlds/Launcher
25-Okt-2011 15:14:50 	Caused by: java.lang.ClassNotFoundException: org.codehaus.classworlds.Launcher
25-Okt-2011 15:14:50 	        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
25-Okt-2011 15:14:50 	        at java.security.AccessController.doPrivileged(Native Method)
25-Okt-2011 15:14:50 	        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
25-Okt-2011 15:14:50 	        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
25-Okt-2011 15:14:50 	        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
25-Okt-2011 15:14:50 	        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
25-Okt-2011 15:14:50 	Could not find the main class: org.codehaus.classworlds.Launcher.  Program will exit.

This is obviously wrong. But I do not find how to make bamboo change that environment variable. My correct maven2 home is /usr/share/maven2. Or is this possibly another wrongly hardcoded thing like the build path?

Thanks for your help,
Lukas

7 answers

1 accepted

0 votes
Answer accepted
Przemek Bruski
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 24, 2011

The Maven task is supposed to work with an unmodified Maven distribution as downloaded from http://maven.apache.org/ .

It won't work with Mavens repackaged by distribution maintainers.

Lukas Brückner October 24, 2011

Thanks for the tip.

Is this somewhere noted in the documentation? I could not find anything about that, this is definitely an important information!

2 votes
Ravish Bhagdev February 22, 2012

Not sure what you mean by this. I have same problem, it uses /usr/share/maven2/bin/mvn/bin/mvn

When I point the maven executable path to /usr/share/maven2/bin/mvn

Why does it add /bin/mvn at the end on its own? This is not quite annoying.

If you are not going to allow setting this property, why have it at all?

1 vote
Lukas May 11, 2013

Hi everyone,

I am struggling with the exact same problem. Is this still an issue in the configuration? I have my maven installation in usr/local/sbin/mvn. However, bin/mvn will always be concatenated to the path.

I am running Bamboo 4.4.2 on Ubuntu 10.04.4. Any help would be very much appreciated.

Cheers, Lukas

0 votes
dpham23 June 7, 2015

As a workaround instead of using maven built in task 

I just call maven from as a script task.

0 votes
dpham23 June 6, 2015

I'm also facing the exact same issue on. Is there a workaround?

 

Oracle Linux Server release 6.5 and Bamboo 5.8.1

0 votes
David Di Blasio June 8, 2014

This still seems to be an issue...

0 votes
Lukas Brückner October 24, 2011

just to be clear. running the command manually from the bamboo user works. Setting the M2_HOME directive for the user does not change anything as it is overridden by bamboo as the first snippet is the log with

... using extra environment variables:

prepended.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events