I tried to mvn install
and got this message:
Compilation failure
Unable to locate the Javac Compiler in:
/usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.
Well, there is an open jdk, I also downloaded another one. I tried to point JAVA_HOME to both, now it is set:
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
I also tried to choose one of those open with sudo update-alternatives --config java
but got the same error with different jdk versions in it.
How can I fix that? Thanks in advance.
it seems like your PATH is not picked up correctly... does the output of "echo $PATH" contain the directory where javac resides?
I would suggest following:
open terminal and do an:
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03
export PATH=$PATH:$JAVA_HOME/bin
javac -version
which javac
if javac -version still does not work create a symlink in /usr/local/bin pointing to your javac binary:
cd /usr/local/bin
ln -s /usr/lib/jvm/jdk1.7.0_03/bin/javac javac
this should get you up an running...
an alternative is to try setting up java via your package management system (e.g. "apt-get install java" or sth. similar)
I faced similar error on an ubuntu machine while running a maven build from Jenkins. If output of 'javac -version' prompts below messages:
"The program 'javac' can be found in the following packages:
default-jdk
ecj
gcj-5-jdk
openjdk-8-jdk-headless
gcj-4.8-jdk
gcj-4.9-jdk
openjdk-9-jdk-headless
Try: apt install "
Then you can install "openjdk-8-jdk-headless" using:
apt install openjdk-8-jdk-headless
This solved my problem and the maven build went through ok.