Мне нужен java 1.7, а сервер получил только 1.6. У меня нет привилегий root. Я пытался что-то сделать, но похоже, что никто этого не делал. Могу ли я каким-то образом скомпилировать его или получить готовые двоичные файлы, чтобы я мог поместить их в свой PATH. Не могли бы вы помочь? Система Redhat.
Как установить java локально - нет root - на linux, если это возможно?
Ответ 1
Это довольно просто...
Загрузите JDK в качестве tarball из Oracle (простой поиск в Google даст ссылку).
Разархивируйте его где-нибудь в $HOME (например, $HOME/jdk
).
Установить 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
для "моего" пользователя, если у вас нет такой свободы, просто создайте другой каталог в своем доме)
Ответ 2
Oracle предлагает JRE и JDK также как *.tar.gz для Linux. Обычно я успевал просто загрузить такой пакет, расстегнуть/разархивировать его (tar -xzvf jdk-8u25.tar.gz
), а затем запустить его, используя абсолютный путь.
Ответ 3
экспорт JAVA_HOME =/opt/sunjdk/1.8/current
export PATH = "$ JAVA_HOME/bin: $PATH"
Для меня эта опция работает только тогда, когда я изменил linux, чтобы использовать bash вместо ksh. Я не знаю, является ли это какой-то конфигурацией в моей компании, но когда я попытался выполнить через ksh с помощью команды "set"
вместо "export"
, чтобы определить путь, он был правильно установлен на пути к моей новой установке Java, но когда я набрал which java
, была показана старая версия. Но когда я выполнил bash и набрал "export"
, он сработал. Итак, если у кого-то есть такая же проблема, чтобы настроить его с помощью команды set
, попробуйте использовать bash с командой export
. Я использую Redhat 6.2.