Como instalar o Java SDK no CentOS?


99

Tenho CentOS 5, mas não sei as etapas para instalar o Java SDK no Linux.

Onde baixar o arquivo RPM e o que posso fazer para instalá-lo totalmente?

Então preciso instalar o Tomcat .

Ou existe algum pacote pronto para todos?


Suspeito que precisamos começar a ser claros quando nos referimos ao Oracle Java ou podemos aceitar uma das alternativas de código aberto. Sventek tem uma boa resposta - mas não ajudará se você tiver ferramentas com mantenedores que se recusam a consertar os problemas até que sejam reproduzidas nas ferramentas Oracle Java / JDK.
Danny Staple

Respostas:


164

O comando a seguir retornará uma lista de todos os pacotes diretamente relacionados ao Java. Eles estarão no formato de java-<version>.

$ yum search java | grep 'java-'

Se não houver pacotes disponíveis, pode ser necessário baixar um novo repositório para pesquisar. Eu sugiro dar uma olhada no repo de Dag Wieers . Depois de baixá-lo, tente o comando acima novamente.

Você verá pelo menos uma versão dos pacotes Java disponíveis para download. Dependendo de quando você ler isto, a última versão disponível pode ser diferente.

java-1.7.0-openjdk.x86_64

O pacote acima sozinho instalará apenas o JRE. Para instalar também javace JDK, o seguinte comando fará o truque:

$ yum install java-1.7.0-openjdk*

Esses pacotes serão instalados (bem como suas dependências):

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
Testado em CentOS 6.5. sudo yum install java-1.7.0-openjdk.x86_64instala apenas JRE ( javacestará ausente). sudo yum install java-1.7.0-openjdk-develinstala o JDK.
Thamme Gowda

Posso confirmar que isso também funciona em versões mais antigas do CentOS (acabei de executar o yum installcomando no 5.6).
crmpicco

Após a instalação: configurando iptables no centos 6.5 -> / etc / sysconfig / iptables -> -A INPUT -i eth0 -p tcp -m tcp --dport 8080 -m state --state NOVO, ESTABELECIDO -j ACEITAR
hpaknia

1
@ThammeGowdaN Enviei uma edição incluindo suas instruções.
onebree

1
Testado e confirmado no CentOS 7.
onebree

34

@Sventeck, perfecto.

Os documentos do redhat são sempre uma ótima fonte - bom tutorial que explica como instalar o JDK via yum e definir o caminho pode ser encontrado aqui (divirta-se!) - Instale o OpenJDK e defina o caminho $ JAVA_HOME

OpenJDK 6:

yum install java-1.6.0-openjdk-devel

OpenJDK 7:

yum install java-1.7.0-openjdk-devel

Para listar todos os pacotes java openjdk-devel, tente:

yum list "java-*-openjdk-devel"

1
Testado em CentOS 6.4, confirmo que é o jeito "centos". A variável de ambiente JAVA_HOME deve ser definida em "/ etc / alternative / jre".
Emmanuel Keller

Tem que me amar alguns centos! Esta variável também pode ser armazenada em / etc / environment, que é onde a maioria das variáveis ​​globais do sistema deve existir. echo JAVA_HOME="path/to/JAVA_HOME" >> /etc/environment
xpros

16

yum install java-1.8.0

e depois:

alternatives --config java

e verifique:

java -version

13

No centos 7, acabei de fazer

sudo yum install java-sdk

Presumo que você já tenha o repo mais comum. O Centos apenas encontra o SDK correto com o sufixo -devel.


10

Uma resposta alternativa é,

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

do que selecionar um da lista e instalá-lo

por exemplo,

sudo yum install java-1.7.0-openjdk.x86_64

6

Aqui estão informações detalhadas sobre como configurar o Java e seus caminhos no CentOS6.

As etapas abaixo são para a instalação da versão 8 do Java mais recente:

  1. Baixe o pacote java rpm do site da Oracle . ( jdk-8-linux-x64.rpm )
  2. Instale a partir do rpm. ( rpm -Uvh jdk-8-linux-x64.rpm )
  3. Abra / etc / profile e defina os caminhos java, salve-o.
  4. Verifique o caminho de instalação do java e a versão do java com os comandos: which java , java -version

Agora você pode testar a instalação com um programa java de amostra


3

Como a Oracle inseriu algum md5hash em seus links de download, não é possível montar automaticamente um link de download para linha de comando.

Então eu mexi em alguma linha de comando do bash desagradável para obter o último link de download do jdk, baixe-o e instale diretamente via rpm. Para todos os interessados:

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' | (cabeça -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 '"filepath": "[^"] + 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

A parte em negrito deve ser substituída pela embalagem de sua preferência.


1
Hack justo.
Aaron Altman,

Usei uma abordagem semelhante em um script bash para obter os links de download do JRE e JDK mais recentes para as versões 8 e 9. Ele pode ser encontrado neste tópico como resposta .
U880D

2

Se você deseja o Oracle JDK e não deseja usar yum / rpm, veja esta resposta aqui:

O download do Java JDK no Linux via wget é exibida na página de licença

De acordo com esse post, você pode automatizar o download do tarball usando curl e especificando um cabeçalho de cookie.

Então você pode colocar o conteúdo do tarball no lugar certo e adicionar java ao seu PATH, por exemplo:

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

use os comandos abaixo para instalar o oracle java8 através do terminal

Etapa -1) Visite a página de download do Oracle JDK, procure a versão RPM

Etapa -2) Baixe o oracle java 8 usando o comando abaixo wget --header "Cookie: oraclelicense = accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441 /jdk-8u121-linux-x64.rpm

Etapa -3) Instale o java8 usando o comando abaixo sudo yum localinstall jdk-8u121-linux-x64.rpm Agora o JDK deve ser instalado em /usr/java/jdk1.8.0_121 Etapa -4) Remova o arquivo .rpm baixado para utilizar o espaço. rm jdk-8u121-linux-x64.rpm

Etapa -5) Verifique o java usando o comando java -version

Etapa -6) Se o CentOS tiver vários JDK instalados, você pode usar o comando de alternativas para definir as alternativas padrão de sudo de java --config java

Etapa -7) Variáveis ​​de ambiente JAVA_HOME de conjunto opcional. copie o caminho de instalação do jdk, ou seja, /usr/java/jdk1.8.0_121 use o comando abaixo para exportar java home export JAVA_HOME = / usr / java / jdk1.8.0_121 export PATH = $ PATH: $ JAVA_HOME



0

insira a descrição da imagem aqui

Isso é o que eu fiz:

  1. Primeiro, baixei o .tararquivo para Java JDK e JRE do site da Oracle.

  2. Extraia o .tararquivo para a pasta opt.

  3. Eu enfrentei um problema que, apesar de definir minhas variáveis ​​de ambiente, JAVA_HOMEe PATHpara o Java 9, ainda estava mostrando o Java 8 como meu ambiente de execução. Portanto, fiz um link simbólico do diretório Java 9.0.4 para /user/binusar o lncomando.

  4. Usei o java -versioncomando para verificar qual versão do java está atualmente definida como meu ambiente de tempo de execução Java padrão.


0

Para instalar o OpenJDK 8 JRE usando yum com usuário não root, execute este comando:

sudo yum install java-1.8.0-openjdk

para verificar a versão java

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.