I'm pretty new on ubuntu, at some point in the terminal I'm running:
mortar local:illustrate pigscripts/retail-recsys.pig purchase_input -f params/retail.params
but I have this following error:
A suitable java installation could not be found. If you already have java installed
please set your JAVA_HOME environment variable before continuing. Otherwise, a suitable java installation will need to be added to your local system.Installing Java
On OSX run
javac
from the command line. This will intiate the installation. For Linux systems please consult the documentation on your relevant package manager.
But I'm pretty sure I have Java, so please how can I set my JAVA_HOME environment variable?
First, you need to decide which installed version of Java to use? No fear, you can pick any you have -
update-java-alternatives -l
One "easy" solution is to add this to "$HOME/.bashrc",
export JAVA_HOME=$(update-java-alternatives -l | head -n 1 | cut -f3 -d' ')
This picks the first installed JDK and takes it's JAVA_HOME (the third field) - on my system that's
/usr/lib/jvm/java-1.7.0-openjdk-amd64
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
in your ~/.bashrc
file.
If you want this environment variable available to all users and on system start then you can add the following to /etc/profile.d/java.sh (create it if necessary):
export JDK_HOME=/usr/lib/jvm/java-7-oracle
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Then in a terminal run:
sudo chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.sh
The simplest method to set environment variable is with export:
$ export JAVA_HOME="/usr/bin"
This will temporarily set the desired variable. You can check if it was set with:
$ echo $JAVA_HOME
or
$ printenv
If you want a more permanent solution, append 'export JAVA_HOME="/usr/bin"' to .bashrc or .bash_profile file.
To check if java is properly installed:
$ which java
$ which javac
You should get similar output:
/usr/bin/java
put the line export JAVA_HOME=/usr/lib/jvm/java-xxx-oracle
in your .profile file at home directory. Note that you have to replace xxx. You may need to logout and login again
For JAVA_HOME
to point to the active jdk, add to your ~/.bashrc
export JAVA_HOME=$(update-alternatives --query javac | sed -n -e 's/Best: *\(.*\)\/bin\/javac/\1/p')
which will dynamically set the $JAVA_HOME
to the JDK selected by update-alternatives
.
Normally you can set paths in
~/.bashrc
with export JAVA_HOME=/usr/lib/jvm/java-version
However you may followe instructions from here for a comprehensive instruction.
In Debian/Ubuntu/Linux Mint, we could add to .bashrc export JAVA_HOME=$(update-java-alternatives -l | head -n 1 | sed 's/\s//g')
By far, the ultimate guide to doing this is here. You don't need to set PATH as much as you just need to adjust the default 'java alternative' location.
you can type java in terminal,if it does not work means your did not install java.if it works, type javac in terminal.if javac dose not work,you should set the java environment variable,if it works ,there maybe something wrong with you program.
来源:https://stackoverflow.com/questions/23124674/setting-the-java-home-environment-variable-in-ubuntu