Instalando o JDK de Oracle em Debian

Para poder trabalhar com Java, precisamos ter instalado no nosso equipo o J2SE nalgumha das suas verssons.

Dependendo das necesidades que tenhamos podemos instalar algúm dos seguintes paquetes:

  • JRE (Java Runtime Environment), que contem o necesário para a execuçom de aplicaçons Java no nosso equipo (máquina virtual Java, livrarias …)
  • Server JRE. Versom de JRE específica para despregar aplicaçons Java em servidores. Inclui ferramentas de monitorizaçom da JVM e outras de uso comum em servidores.
  • JDK (Java SE Development Kit). Inclui um JRE mais as ferramentas precisas para desenvolver, compilar, depurar e monitorizar aplicaçons Java.

Nas distros de Linux mais populares é provável que venha um JDK instalado por defecto, o OpenJDK, pero neste caso imos ver como se instala o JDK de Java SE 8 (u241) de Oracle. Imo-lo fazer numha máquina virtual com um Debian 10.2 de 64 bits.

Tradicionalmente tinhamos dous jeitos de faze-lo. O primeiro, baixando o paquete da web de Oracle, e engadindo ao PATH os diretórios onde estejam guardados os binários do JDK. O segundo, incluindo os repositórios do equipo Webupd8, podendo assi instalar coma qualquer outro paquete dos repositórios de Debian.

Esta segunda opçom era a mais recomendada, mas desde Abril do 2019, a Oracle mudou a licença do produto, exigindo um logueo na sua web para poder baixar o produto. Por isso, a PPA que dava suporte ficou descontinuada como podemos ler na sua página:

http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html

Entom imos ponher-nos ao choio. Descarregamos o paquete de java correspondente desde a página web de Oracle:

https://www.oracle.com/technetwork/java/javase/downloads/index.html

Agora abrimos umha terminal, e comprovamos em que diretório se descarregou o arquivo, normalmente no diretório Transferências:

:~$ ls Transferências/
jdk-8u241-linux-x64.tar.gz

Com permisos de root creamos, se nom existe já, o diretório que conterá os arquivos do JDK e movemos lá o arquivo descarregado. Creamos por exemplo o diretório jdk8 dentro da pasta /opt

:~$ su -
:~# mkdir /opt/jdk8
:~# mv /home/administrador/Transferências/jdk-8u241-linux-x64.tar.gz  /opt/jdk8

Mudamos ao diretório de java e descomprimimos o arquivo que baixamos

:~# cd /opt/jdk8
:/opt/jdk8# tar xzf jdk-8u241-linux-x64.tar.gz

Agora temos um novo diretório (jdk1.8.0_241) onde temos todos os arquivos do JDK de Oracle, o .tar.gz já o podemos eliminar.

:/opt/jdk8# ls
jdk1.8.0_241

Agora toca configurar as variáveis de entorno:

  • JAVA_HOME: É usada por aplicaçons de terceiros baseadas em Java para atopar a ubicaçom do JDK (ou JRE) que precisam para executar-se.
  • PATH: Estabelece as rutas aos diretórios nos que se vam buscar os comandos que tiremos desde o terminal. De nom configurar-se, teriamos que especificar a ruta completa ao executável cada vez que o quixeramos invocar. Por exemplo:
~$ /opt/jdk8/bin/javac MyClass.java

No nosso caso, e noutros de sistemas baseados em Debian e Ubuntu, empregaremos o sistema update-alternatives para permitir diferentes versons de Java instaladas, em lugar de configurar a variável PATH.

Para fazer isto, editamos o arquivo .profile do diretório pessoal do usuário e incluimos ao final as seguintes linhas

JAVA_HOME="/opt/jdk8/jdk1.8.0_241"
PATH="$JAVA_HOME/bin:$PATH" (nom necesário em Ubuntu/Debian)

A seguir executamos o comando source .profile desde o nosso diretório pessoal para atualizar as mudanças sem ter que reiniciar a sessom.

No nosso caso, ao tratar-se dum Debian, em lugar de modificar o PATH, empregaremos o sistema de update-alternatives para estabelecer o Oracle JDK por defecto. Isto ha-nos permitir mudar doadamente entre diferentes JDK instalados. Executamos os seguintes comandos

:/opt/jdk8/jdk1.8.0_241# update-alternatives --install /usr/bin/java  java /opt/jdk8/jdk1.8.0_241/bin/java 1
:/opt/jdk8/jdk1.8.0_241# update-alternatives --install /usr/bin/javac  javac /opt/jdk8/jdk1.8.0_241/bin/javac 1
update-alternatives: a usar /opt/jdk8/jdk1.8.0_241/bin/javac para disponibilizar /usr/bin/javac (javac) em modo auto

Agora executamos o comando update-alternatives –config java e vemos todos os JDK que temos disponíveis e podemos escolher qual queremos usar por defecto.

:~# update-alternatives --config java
Existem 2 escolhas para a alternativa java (disponibiliza /usr/bin/java).
Selecção   Caminho    Prioridade Estado
* 0       /usr/li...  1111       modo automático
  1       /opt/jd...  1          modo manual
  2       /usr/li...  1111       modo manual
Pressione <enter> para manter a escolha actual[*], ou digite o número da selecção

Como podemos comprovar, o nosso sistema tem instalado mais de um JDK. O de Oracle, que acabamos de configurar, nom é o escolhido por defecto, nesta saida nom aparece a ruta completa aos binários, por falta de espaço, pero podemos saber que é o que está no diretório /opt. Escolhemos entom o número 1 para que o de Oracle seja o JDK por defecto.

Finalmente co comando java -version comprovamos qual é a versom que estamos utilizando.

:~# java -version<br>
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)

Com isto já teriamos o JDK pronto para trabalhar.

Por outra banda, o openJDK já vem instalado por defecto, pero por se algum motivo nom vinhera, e se quixera instalar, ao estar nos repositórios de Debian e Ubuntu, cumpriria só executar o comando

:~# apt install openjdk-8-jdk

Ediçom e compilaçom em Java.

E já para rematar esta entrada, imos editar e compilar um programa pequeninho, para comprovar na prática que, efetivamente, podemos trabalhar com Java. Para isto situamo-nos nalgum diretório e creamos um arquivo de texto co nome Ola.java, co seguinte conteúdo:

/**Ola.java
* Programa que imprime umha mensagem de saúdo 
*/ 
public class Ola { 
    /*A execuçom da aplicaçom inicia no método main*/
    public static void main(String[] args){

        System.out.println("Olá, o programa compilou e executou sem problema!");
    }//remate do método main
}//remate da classe Ola

Agora que temos creado o nosso arquivo co código fonte já podemos compilar, para isso usamos o compilador de Java, o javac, que vai gerar um arquivo co código objeto ou bytecode que será executado pola máquina virtual de Java

:~$ javac Ola.java

Se a compilaçom foi exitosa, devimos obter o bytecode, um arquivo do mesmo nome que a classe com extensom .class

:~$ ls Ola.*
Ola.class  Ola.java

Pois agora já podemos executar o nosso pequeno programa. Lançamos a máquina virtual de Java co comando java e passamos o nome do arquivo que contem o bytecode sem a extenssom .class. Se todo vai bem, deveria mostrar o texto “Olá, o programa compilou e executou sem problema!”

:~$ java Ola
Olá, o programa compilou e executou sem problema!

Deixe um comentário