Reputation: 20246
Trying to setup jenkins but my builds fails with:
$ ant test
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
Build step 'Invoke Ant' marked build as failure
If I manually run "ant test" on the machine it works just fine and the JAVA_HOME is set to the exact same value. Any idea why it fails when jenkins try to run it ? Are there any more environment variabled involved ( I could not see any though ) ?
Upvotes: 15
Views: 41663
Reputation: 1201
Set JAVA_HOME
in your Jenkins system config in Jenkins 2.107.1.
open your jenkins, e.g. http://192.168.1.12:9090, then add /configure
to the url,
that is http://192.168.1.12:9090/configure
, then you can find like next:
Upvotes: 4
Reputation: 20246
The problem was this, I had forgot to check the box "Restrict where this project can be run" in the project configuration. Thus the testing tried to execute on "master" where JAVA_HOME was not the same as expected on the build executor I intended to run it on. Thus where I tested and where it actually ran was different machines.
Upvotes: 5
Reputation: 385
For me the options above did not help, solved by creating a link to what's asked:
sudo ln -s ${actual_java_location} /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
actual_java_location can be read by this:
readlink -f $(which java)
Upvotes: 1
Reputation: 21910
For others, I had to add the PATH
/usr/bin/
to my PATH variable within Jenkins. (Find your correct path using which java
).
Jenkins > Manage Jenkins
> Configure System
Add an Environment Variable
>>
e.g:
Name: PATH
Value: /usr/local/bin/:/usr/bin/
Upvotes: 11