Jak zainstalować Java SDK na CentOS?


99

Mam CentOS 5, ale nie wiem, jak zainstalować pakiet Java SDK w systemie Linux.

Skąd pobrać plik RPM i co mogę dalej zrobić, aby w pełni go zainstalować?

Następnie muszę zainstalować Tomcat .

A może jest jakaś gotowa paczka dla wszystkich?


Podejrzewam, że musimy zacząć jasno mówić, kiedy mamy na myśli Oracle Java lub możemy zaakceptować jedną z alternatyw open source. Sventek ma dobrą odpowiedź - ale nie pomoże, jeśli masz narzędzia z opiekunami, którzy odmawiają naprawy problemów, dopóki nie zostaną odtworzone w narzędziach Oracle Java / JDK.
Danny Staple

Odpowiedzi:


164

Następujące polecenie zwróci listę wszystkich pakietów bezpośrednio związanych z Javą. Będą w formacie java-<version>.

$ yum search java | grep 'java-'

Jeśli nie ma dostępnych pakietów, może być konieczne pobranie nowego repozytorium w celu przeszukania. Proponuję przyjrzeć się repozytorium Daga Wieersa . Po pobraniu spróbuj ponownie wykonać powyższe polecenie.

Zobaczysz co najmniej jedną wersję pakietów Java dostępnych do pobrania. W zależności od tego, kiedy to czytasz, ostatnia dostępna wersja może się różnić.

java-1.7.0-openjdk.x86_64

Sam powyższy pakiet zainstaluje tylko środowisko JRE. Aby również zainstalować javaci JDK, następujące polecenie załatwi sprawę:

$ yum install java-1.7.0-openjdk*

Te pakiety zostaną zainstalowane (wraz z ich zależnościami):

java-1.7.0-openjdk.x86_64
java-1.7.0-openjdk-accessibility.x86_64
java-1.7.0-openjdk-demo.x86_64
java-1.7.0-openjdk-devel.x86_64
java-1.7.0-openjdk-headless.x86_64
java-1.7.0-openjdk-javadoc.noarch
java-1.7.0-openjdk-src.x86_64

64
Przetestowano na CentOS 6.5. sudo yum install java-1.7.0-openjdk.x86_64instaluje tylko środowisko JRE ( javacbędzie nieobecne). sudo yum install java-1.7.0-openjdk-develinstaluje JDK.
Thamme Gowda,

Mogę potwierdzić, że działa to również na starszych wersjach CentOS (właśnie uruchomiłem yum installpolecenie na 5.6).
crmpicco,

Po instalacji: konfigurowanie iptables na centos 6.5 -> / etc / sysconfig / iptables -> -A INPUT -i eth0 -p tcp -m tcp --dport 8080 -m stan - stan NOWY, USTANOWIONY -j AKCEPTUJ
hpaknia

1
@ThammeGowdaN Przesłałem zmianę zawierającą Twoje instrukcje.
onebree

1
Przetestowane i potwierdzone na CentOS 7.
onebree

34

@Sventeck, perfecto.

Dokumenty redhat są zawsze świetnym źródłem - dobry poradnik wyjaśniający, jak zainstalować JDK przez yum, a następnie ustawić ścieżkę, można znaleźć tutaj (baw się dobrze!) - Zainstaluj OpenJDK i ustaw ścieżkę $ JAVA_HOME

OpenJDK 6:

yum install java-1.6.0-openjdk-devel

OpenJDK 7:

yum install java-1.7.0-openjdk-devel

Aby wyświetlić listę wszystkich dostępnych pakietów java openjdk-devel, spróbuj:

yum list "java-*-openjdk-devel"

1
Testowany na CentOS 6.4, potwierdzam, że jest to sposób „centos”. Zmienną środowiskową JAVA_HOME należy ustawić w „/ etc / alternatives / jre”.
Emmanuel Keller

Musisz mnie kochać kilka centów! Ta zmienna może być również przechowywana w / etc / environment, w którym powinna istnieć większość globalnych zmiennych systemowych. echo JAVA_HOME="path/to/JAVA_HOME" >> /etc/environment
xpros

16

yum install java-1.8.0

i wtedy:

alternatives --config java

i zaznacz:

java -version

13

Na Centos 7 po prostu tak robię

sudo yum install java-sdk

Zakładam, że masz już najpopularniejsze repozytorium. Centos po prostu znajduje poprawny zestaw SDK z sufiksem -devel.


10

Alternatywna odpowiedź brzmi:

sudo yum list \*java-1\* | grep open 

niż wybierz jeden z listy i zainstaluj go

na przykład,

sudo yum install java-1.7.0-openjdk.x86_64

6

Oto szczegółowe informacje na temat konfigurowania Javy i jej ścieżek w CentOS6.

Poniższe kroki dotyczą instalacji najnowszej wersji Java 8:

  1. Pobierz pakiet Java rpm z witryną Oracle . ( jdk-8-linux-x64.rpm )
  2. Zainstaluj z rpm. ( rpm -Uvh jdk-8-linux-x64.rpm )
  3. Otwórz / etc / profile i ustaw ścieżki java, zapisz go.
  4. Sprawdź ścieżkę instalacyjną i wersję java, używając poleceń: which java , java -version

Teraz możesz przetestować instalację za pomocą przykładowego programu Java


3

Ponieważ Oracle wstawił trochę md5hash w swoich linkach do pobierania, nie można automatycznie utworzyć łącza pobierania dla wiersza poleceń.

Więc majstrowałem przy jakiejś paskudnej linii poleceń bash, aby uzyskać najnowszy link do pobrania jdk, pobrać go i bezpośrednio zainstalować przez rpm. Dla wszystkich zainteresowanych:

wget -q http://www.oracle.com/technetwork/java/javase/downloads/index.html -O ./index.html && grep -Eoi '] +>' index.html | grep -Eoi '/technetwork/java/javase/downloads/jdk8-downloads-[0-9]+.html' | (nagłówek -n 1) | awk '{print " http://www.oracle.com " $ 1}' | xargs wget --no-cookies --header "Cookie: gpw_e24 = xxx; oraclelicense = accept-securebackup-cookie;" -O index.html -q && grep -Eoi '"ścieżka_pliku": "[^"] + jdk-8u [0-9] + - linux-x64.rpm "' index.html | grep -Eoi 'http: [ ^ "] + '| xargs wget --no-cookies --header "Cookie: gpw_e24 = xxx; oraclelicense = accept-securebackup-cookie;" -q -O ./jdk8.rpm && sudo rpm -i ./jdk8.rpm

Pogrubiona część powinna zostać zastąpiona przez pakiet własnych upodobań.


1
Sprawiedliwy hack.
Aaron Altman

Użyłem podobnego podejścia w skrypcie bash, aby pobrać najnowsze linki do JRE i JDK dla wersji 8 i 9. Można je znaleźć w tym wątku jako odpowiedź .
U880D

2

Jeśli chcesz Oracle JDK i nie chcesz używać yum / rpm, zobacz tę odpowiedź tutaj:

Pobieranie Java JDK w systemie Linux za pośrednictwem wget jest zamiast tego wyświetlana strona licencji

Jak w tym poście, możesz zautomatyzować pobieranie tarballa za pomocą curl i określając nagłówek pliku cookie.

Następnie możesz umieścić zawartość tarballa we właściwym miejscu i dodać java do swojej PATH, na przykład:

curl -v -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz > jdk.tar.gz

tar xzvf jdk.tar.gz
sudo mkdir /usr/local/java
sudo mv jdk1.8.0_45 /usr/local/java/
sudo ln -s /usr/local/java/jdk1.8.0_45 /usr/local/java/jdk

sudo vi /etc/profile.d/java.sh
export PATH="$PATH:/usr/local/java/jdk/bin"
export JAVA_HOME=/usr/local/java/jdk

source /etc/profile.d/java.sh

0

użyj poniższych poleceń, aby zainstalować Oracle Java8 przez terminal

Krok -1) Odwiedź stronę pobierania Oracle JDK, poszukaj wersji RPM

Krok 2) Pobierz Oracle Java 8 za pomocą poniższego polecenia wget --header "Cookie: oraclelicense = accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441 /jdk-8u121-linux-x64.rpm

Krok -3) Zainstaluj java8 za pomocą poniższego polecenia sudo yum localinstall jdk-8u121-linux-x64.rpm Teraz JDK powinien być zainstalowany w /usr/java/jdk1.8.0_121 Krok -4) Usuń pobrany plik .rpm, aby go wykorzystać przestrzeń. rm jdk-8u121-linux-x64.rpm

Krok 5) Sprawdź java za pomocą polecenia java -version

Krok -6) Jeśli CentOS ma zainstalowanych wiele JDK, możesz użyć polecenia alternatives, aby ustawić domyślne alternatywy java sudo --config java

Krok -7) Opcjonalnie ustaw zmienne środowiskowe JAVA_HOME. skopiuj ścieżkę instalacji jdk tj. /usr/java/jdk1.8.0_121 użyj poniższego polecenia, aby wyeksportować katalog główny java JAVA_HOME = / usr / java / jdk1.8.0_121 export PATH = $ PATH: $ JAVA_HOME



0

wprowadź opis obrazu tutaj

Oto co zrobiłem:

  1. Najpierw .tarpobrałem plik Java JDK i JRE z witryny Oracle.

  2. Wypakuj .tarplik do folderu opt.

  3. Napotkałem problem polegający na tym, że pomimo ustawienia moich zmiennych środowiskowych JAVA_HOMEi PATHdla języka Java 9 nadal wyświetlała Java 8 jako moje środowisko wykonawcze. W związku z tym utworzyłem link symboliczny z katalogu Java 9.0.4 do /user/binkorzystania z lnpolecenia.

  4. Użyłem java -versionpolecenia, aby sprawdzić, która wersja java jest obecnie ustawiona jako moje domyślne środowisko wykonawcze java.


0

Aby zainstalować OpenJDK 8 JRE przy użyciu yum z użytkownikiem innym niż root, uruchom to polecenie:

sudo yum install java-1.8.0-openjdk

aby zweryfikować wersję java

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.