Ubuntu 11.04
open terminal
JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.24/
export JAVA_HOME
echo $JAVA_HOME
==>/usr/lib/jvm/java-6-sun-1.6.0.24/
i close the terminal
open another terminal
echo $JAVA_HOME
==>
Есть идеи, почему JAVA_HOME не был сохранен?
Переменная среды устанавливается только для этого сеанса и его дочерних элементов. Когда вы закрываете этот терминальный процесс, эти переменные среды исчезают. Обычно я бы устанавливал их в ~ / .profile, но это не может быть предпочтительным методом.
Документация Ubuntu для этого: Вот
Вам не хватает «-p» для «постоянного».
В нем есть некоторые ошибки, но вот что я использую.
# Set the JAVA_HOME variable
function set_java_home {
echo "Searching for java ..."
if [ -z $JAVA_HOME ]; then
echo "Using default value for JAVA_HOME: /usr/java/default"
JAVA_HOME=/usr/java/default
fi
export -p JAVA_HOME
echo $JAVA_HOME > java.home.config
sudo rm /etc/alternatives/java
sudo ln -s $JAVA_HOME/bin/java /etc/alternatives/java
echo "JAVA_HOME variable set to $JAVA_HOME and /etc/alternatives set."
}
if [ -f java.home.config ]; then
JAVA_HOME=$(<java.home.config)
else
JAVA_HOME_CANDIDATES=$(find /usr -type d -name '*jdk1.6*')
echo "Found the following candidates for JAVA_HOME. Pick one: "
echo "---"
echo $JAVA_HOME_CANDIDATES
echo "---"
read USER_SUBMITTED_JAVA_HOME
echo "You chose $USER_SUBMITTED_JAVA_HOME ."
JAVA_HOME=${USER_SUBMITTED_JAVA_HOME}
fi
set_java_home