I installed java and set the path environment and when I run echo $JAVA_HOME
in the terminal I get the following output:
/usr/lib/jvm/java-7-oracle/jre/bin/java
I Also installed apache-maven
and changed environment
file and now it looks like this:
JAVA_HOME="/usr/lib/jvm/java-7-oracle/jre/bin/java" M2_HOME=/usr/local/apache-maven/apache-maven-3.0.5 M2=$M2_HOME/bin MAVEN_OPTS="-Xms256m -Xmx512m" PATH=$M2:$PATH
But when I execute mvn --version
I get a warning:
Error: JAVA_HOME is not defined correctly. We cannot execute /usr/lib/jvm/java-7-oracle/jre/bin/java/bin/java
Can not find out why it repeats in the end /bin/java/bin/java
All you need to do to fix this error is edit the JAVA_HOME variable and point it to the correct directory. The JAVA_HOME environment variable must point to the root of the installation folder of a JDK. It cannot point to a sub-directory of the JDK, and it cannot point to a parent directory that contains the JDK.
How does Maven verify the JAVA_HOME path? Before running any goals, Maven checks for the existence of the java command in the path specified by JAVA_HOME or by asking the OS for a default JDK installation. If the executable is not found, Maven terminates with the error.
Assuming you use bash shell and installed Java with the Oracle installer, you could add the following to your .bash_profile
export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$JAVA_HOME/jre/bin:$PATH
This would pick the correct JAVA_HOME
as defined by the Oracle installer and will set it first in your $PATH
making sure it is found.
Also, you don't need to change it later when updating Java.
EDIT
As per the comments:
Making it persistent after a reboot
Just add those lines in the shell configuration file. (Assuming it's bash
)
Ex: .bashrc
, .bash_profile
or .profile
(for ubuntu)
Using a custom Java installation
Set JAVA_HOME
to the root folder of the custom Java installation path without the $()
.
Ex: JAVA_HOME=/opt/java/openjdk
JAVA_HOME should be /usr/lib/jvm/java-7-oracle/jre/
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With