Я только что установил Ubuntu и являюсь Java 7u55 (JDK) и пытаюсь настроить JAVA_HOME как переменную среды.
В ~/.bashrc
я добавил:
# Exports
JAVA_HOME=/home/myuser/sandbox/java/7u55/jdk1.7.0_55
export PATH=$PATH:JAVA_HOME
Тем не менее, когда я закрываю терминал и открываю новую оболочку и набираю which java
или java -version
, Ubuntu, похоже, не знает, что я говорить о (говорит, что программу java
можно найти в одном из нескольких пакетов и предлагает мне использовать sudo apt-get
для установки одного из них).
Что я делаю не так?
Во-первых, у Вас есть опечатка в строке экспорта. Это должно быть
export PATH=$PATH:$JAVA_HOME/bin
Никакое пространство, добавить символ $ перед JAVA_HOME, добавить /bin
, Однако фиксация выше строки не может решить Вашу проблему в установке Java. Самый легкий способ установить Java при помощи webup8 ppa:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
После последней команды, сценарий автоматически загрузит jdk с веб-сайта Oracle и установит его для Вас. Можно прочитать учебное руководство здесь .
Вы установили переменную среды JAVA_HOME
, но это - только значение, используемое приложениями, которые хотят знать, где JRE или JDK.
Эти PATH
то, что заглядывает Ваша оболочка, когда Вы пытаетесь выполнить исполняемые файлы. Таким образом, когда Вы тип java -version
, это смотрит в папке JDK. Обратите внимание, что java
на самом деле внутренний $JAVA_HOME/bin
. Вот почему это не может найти его.
Это - объяснение.
фиксация должна или добавить его к $PATH
правильно:
export PATH=$PATH:JAVA_HOME/bin
или работать update-alternatives
и добавляют путь JDK к альтернативам Java системы.
, Например
update-alternatives --install "/usr/bin/java" "java" "/home/myuser/sandbox/java/7u55/jdk1.7.0_55/bin/java" 3
Sqoop, не находящий jdk вот почему это ошибочное прибытие. По умолчанию jre использовал, и он не имеет javac файла, который требуется, чтобы компилировать sqoop задания.
Решение:
если jdk, установленные в системе затем, настраивают то же в hadoop-env.sh файле как:
# The java implementation to use. Required.
export JAVA_HOME=/opt/jdk1.8.0_151/
И в .bash_profile файле.
как:
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/opt/jdk1.8.0_151/bin
затем выполненный источник. .bash_profile
вот именно теперь протестируйте sqoop задание, будет хорошо работать.