Как установить java локально - без root-on linux, если это возможно?

Мне нужна java 1.7, а сервер получил только 1.6. У меня нет привилегий root. Я пытался что-то погуглить, но, похоже, никто этого не делал. Могу ли я как-то скомпилировать его или получить готовые двоичные файлы, чтобы я мог поместить их на свой путь. Не могли бы вы помочь? Система-Redhat.

3 ответов


это довольно легко...

загрузите JDK как tarball из Oracle (простой поиск google даст ссылку).

распакуйте его где-нибудь в вашем $HOME (например, $HOME/jdk).

Set JAVA_HOME к пути установки корневого JDK; затем добавьте$JAVA_HOME/bin на PATH.

и вы идете.


здесь у меня есть определенная настройка, поскольку я запускаю три разные основные версии JDK: 6, 7, 8. Для например, вот мой исходный файл для установки текущей оболочки для использования Java 8:

$ cat ~/.jdk/8
export JAVA_HOME=/opt/sunjdk/1.8/current
export PATH="$JAVA_HOME/bin:$PATH"

и /opt/sunjdk/1.8 (учитывая, что /opt/sunjdk доступен для записи моим пользователем, поэтому мне не нужно быть root):

$ ls -l /opt/sunjdk/1.8/* -d
lrwxrwxrwx 1 fge fge  11 Oct 30 10:09 /opt/sunjdk/1.8/current -> jdk1.8.0_25
drwxr-xr-x 1 fge fge 274 Mar 18  2014 /opt/sunjdk/1.8/jdk1.8.0_05
drwxr-xr-x 1 fge fge 274 Sep 18 02:44 /opt/sunjdk/1.8/jdk1.8.0_25

(и да, я был root для начала, чтобы предоставить разрешения на запись для /opt/sunjdk для" моего " пользователя; если у вас нет такой свободы, просто создайте другой каталог в своем доме)


Oracle предлагает JRE и JDK также как *.смола.gz для Linux. Обычно мне удавалось просто загрузить такой пакет, распаковав его (tar -xzvf jdk-8u25.tar.gz), а затем запустить его, используя абсолютный путь.


экспорт JAVA_HOME= / opt/sunjdk/1.8 / current
экспортировать переменную PATH="$переменной JAVA_HOME/ОГРН:$путь"

для меня эта опция работала только тогда, когда я изменил linux на использование bash вместо ksh. Я не знаю, является ли это какой-то конфигурацией в моей компании, но когда я попытался запустить через ksh, используя "export" чтобы определить путь, он был установлен правильно с путем моей новой установки Java, но когда я набрал which java старый версия была показана. Но, когда я выполнил bash, и набрал "export", он работал. Так что, если у кого-то есть такая же проблема, чтобы настроить его с помощью , попробуйте использовать bash с