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!