|
|
A linguagem de programação Java é uma das mais usadas hoje. O segredo é
ter a sua sintaxe muito parecida com C, e, principalmente, ter uma
flexibilidade de plataformas incrível, usando o conceito de máquinas
virtuais. Por isso, um mesmo programa feito em Java pode rodar tanto no
Windows como no Linux, por exemplo, desde que tenham uma máquina
virtual instalada. O Java também é amplamente usado em dispositivos
portáteis, pelos mesmos motivos.
A Sun é a empresa proprietária do Java. Ela disponibiliza, basicamente,
duas versões de sua máquina virtual: o JRE (Java Runtime Environment) e
JDK (Java Development Kit). O JRE contém a máquina virtual que permite
rodar programas feitos na linguagem Java em uma máquina, como por
exemplo o famoso mensageiro Mercury e o jSMS, software nacional de
envio de mensagens de texto para celulares. Porém, com o intuito de que
cada atualização vem com novidades, como mais velocidade, e que nem
todos conseguem desfrutar de tal, essa dica visa ajudar a quem quer
instalar ou atualizar o Java Runtime Environment no Linux. O JDK, por
sua vez, é um pacote para desenvolvedores programarem suas aplicações
em Java, possuindo vários utilitários, inclusive compilador e
bibliotecas.
Uma das versões mais usadas do Java foi a 1.4.x, que possuía inclusive
um visual um pouco (para ser cortez :-P) rústico. Mais para frente a
Sun lançou a versão 1.5.0, com várias melhorias em termos de
programação e um visual um pouco melhor. Foi lançado em dezembro do de
2006 o Java 1.6.0, conhecido também como Java 6, que trouxe,
finalmente, uma integração total com o desktop em termos visuais, e
várias melhorias também para quem é programador.
Segundo um dos maiores sites especializados no assunto do país, o JavaFree.org, algumas novidades do java 6 são:
"(...) Depois de dois anos de desenvolvimento, a Sun lançou o Java
6, conhecida também como Mustang. O ciclo de desenvolvimento aberto aos
desenvolvedores e o lançamento de releases semanais da nova versão, foi
um marco na história do Java. Houve extensiva colaboração entre a Sun e
cerca de 330 desenvolvedores, de mais de 160 companhias para garantir
compatibilidade, estabilidade, alta performance e transparência.
As novidades acrescentadas ao Mustang foram definidas pela JSR 270, a
qual é ligada a outras 11 JSRs implementadas e mais três que foram
propostas mas não inclusas. Havia ainda outras JSRs de manutenção de
recursos já existentes. As principais alterações - e mais
entusiasmantes - ficam por conta da JSR 223 (Scripting na JVM). A
versão também traz uma maior integração com acessos ao desktop - até
mesmo com o Windows Vista - melhorias nas ferramentas de monitoramento
e na parte de banco de dados com JDBC 4.0, e a adição do JavaDB,
baseado no Apache Derby.
Apesar de tudo, assim como aconteceu com a versão 5, a adoção deve ser
bastante gradual, especialmente por causa da demora de maior parte dos
grandes fornecedores em adaptar seus produtos para funcionarem com essa
nova versão. Entretanto, a maior parte das aplicações que funcionam com
as versões anteriores muito provavelmente funcionará com o Java 6, já
que os testes feitos durante o desenvolvimento garantem backward
compatibility na grande maioria dos casos. Agora é esperar pelas
novidades que virão com o Dolphin (Java 7).
...
Mustang é o nome para a nova versão 6 de Java, que saiu no final do ano
passado. Entre as novidades mais conhecidas estão o suporte a
linguagens de script, melhores ferramentas para o monitoramento de
aplicações Java e mais integração com o sistema operacional.
E um post recente, Eyal Lupu mostra algumas melhorias menos baladas,
mas nem por isso menos importantes. Por exemplo, agora
OutOfMemeoryError's provêem mais informações sobre o erro e o classpath
pode usar "*" para indicar todos os jars em um diretorio, muito útil. E
o JavaForce publica um artigo sobre navigables, uma nova interface para
permitir mais navegação e seleção de elementos dentro de Sets e Maps."
E estas, segundo o site, são as principais novidades do "Mustang". Para
ver todo o change-log do Java 6, ou ver a notícia original, entre em:
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/enhancements/
Em 2007, a Sun liberou o código fonte da futura versão da plataforma de
desenvolvimento e da máquina virtual do Java, apelidando-o de Java 7
"IcedTea". Com isso, apesar de vários programas ainda não funcionarem
nele, agora o IcedTea aparece empacotado sob licença de software livre
em repositórios como o do Fedora, que antes não possuíam o Java
(somente o GCJ). Veja um trecho da descrição deste aplicativo pelo
próprio projeto Fedora (http://docs.fedoraproject.org/release-notes/f8/pt_BR/sn-Java.html):
"(...) O IcedTea é uma versão de aproveitamento do código OpenJDK
da Sun, que substitui partes comprometidas/empenhadas (encumbered) do
OpenJDK por Software Livre. O IcedTea fornece um ambiente mais completo
e compatível que o GCJ, incluindo suporte para contrução e execução de
bytecodes com níves acima de 1.6. Os usuários do IcedTea deve estar
ciente de algumas ressalvas: não há suporte a ppc ou ppc64 - usuários
de ppc e ppc64 devem continuar a usar o GCJ; não há suporte para as
API's de som do Java; estão faltando alguns poucos algoritmos de
criptografia."
Bom, de tanta versão, qual usar? Vale lembrar que muitíssimo
aplicativos permanecem em funcionamento somente com o JRE 1.5, como os
sites de vários bancos. Eu, particularmente, sugiro a instalação da
última versão (IcedTea) juntamente com a 1.5, deixando esta última
somente para o navegador (instala-se somente o plugin desta versão). As
diferentes versões permanecem harmoniosamente instaladas.
Sanando outra dúvida, o que realmente é JDK ou Java SDK? Segundo Duli, é
o kit de desenvolvimento para java (Sofware Development Kit). Trata-se
de um conjunto de softwares para programadores em java que você não
precisa instalar se sua intenção for apenas usar os programas feitos em
java. Para rodar os programas em java basta instalar o JRE (Java
Runtime Environment) (...).
Vamos então ensinar a instalar o JRE e JDK independentemente da
distribuição, que possuem, muitas vezes, um atalho disponível em seus
gerenciadores de pacotes. Veremos, mais adiante também, como instalar
em específico no Ubuntu, Debian e OpenSUSE.
Para começar, vamos baixar o JRE ou JDK no site da Sun. Vou na
instalação usar somente o JRE ou JDK como exemplo, porém, o processo de
instalação de ambos é similar.
O JDK e JRE 6u3 estão disponíveis no link:
http://java.sun.com/javase/downloads/index.jsp
Clique no botão "Download" abaixo de "Java Runtime Environment (JRE) 6
Update 4" ou "JDK 6 Update 4". E, para baixar, marque a opção "Accept
License Agreement", a seguir clicando em "jdk-6u3-linux-i586.bin", ao lado de "Linux self-extracting file" ou "jdk-6u3-linux-i586-rpm.bin",
ao lado de "Linux RPM in self-extracting file", logo abaixo da
categoria "Linux Platform - Java(TM) SE Development Kit 6 Update 3". No
caso, somente baixe a primeira opção se a sua distribuição use pacotes
RPM, como o Fedora, OpenSUSE, Mandriva, PCLinuxOS, entre outras.
Para o JRE 6u1, o processo é o mesmo, no mesmo
link. Marcando a opção "Accept License Agreement", abaixo da categoria
"Java Runtime Environment (JRE) 6u3, clique em "jre-6u3-linux-i586.bin" ou "jre-6u3-linux-i586-rpm.bin", também seguindo a dica acima.
Essa versão contém diversos releases, a mais atual enquanto escrevo é a 1.6.0_3.
Para o Java 1.5, o procedimento é similar ao do 1.6, contudo, acessando o link:
http://java.sun.com/javase/downloads/index_jdk5.jsp
E selecionando "Java Runtime Environment (JRE) 5.0 Update 14" ou "JDK 5.0 Update 14".
O IcedTea ainda não possui arquivos binários para download, contudo,
ele já permanece na maioria dos repositórios oficiais de cada
distribuição, por agora se tornar livre. Se desejar saber mais sobre o
Java 7, acesse:
Após feito o download, vamos para a instalação.
Debian/Ubuntu
A maneira correta de instalar o Java da Sun numa máquina Debian é
através do java-package, que constrói o .deb a partir do .bin da Sun,
da IBM ou do Blackdown. Dessa forma, outros pacotes que dependem do JRE
serão corretamente instalados, além de ficar mais fácil o controle
sobre as versões.
Para instalar o java-package em distribuições baseadas no Debian:
# apt-get update
# apt-get install java-package
A seguir, entre no diretório onde está salvo o arquivo binário do Java, baixado no site acima e rode o comando:
# make-jpkg --full-name nomedocriadordopacote --email emaildocriadordopacote JRE.bin
Obviamente, substituindo o JRE.bin/.deb pelo caminho completo do executável/pacote. Um exemplo seria:
# make-jpkg --full-name JulioCBM --email emaildojulio@email.com jre-6u3-linux-i586.bin
O pacote será feito, após a revisão da licença da Sun. Para avançar,
pressione Enter, até que a palavra destacada "More" suma do canto
inferior esquerdo da tela. Após a extração do binário e a contrução do
pacote, na pasta local aparecerá um pacote Debian, e para instalá-lo,
use o comando:
# dpkg -i sun-j2re1.6_1.6.0+update3_i386.deb
Note que o nome do arquivo pode variar de acordo com a versão baixada
por você disponibilizada no site da Sun. O pacote já se encarregará de
fazer os links simbólicos necessários para o funcionamento total da
nova versão, uma outra facilidade desse método.
Os pacotes também permanecem nos repositórios Debian e Ubuntu, sendo
assim mais fáceis de instalar, apesar de algumas vezes não estarem nas
últimas versões. Para isso, rode os comandos:
# apt-get update
# apt-get install sun-java6-jre sun-java5-plugin
Para instalar o Java 1.6 (repare o "java6" no nome do pacote) e o
conjunto de plugins (Firefox, etc). Para o Java 1.5, troque o "java6"
por "java5" no nome dos pacotes. Para instalar o SDK, troque, no nome
do pacote, "jre" por "jdk":
# apt-get install sun-java6-jdk
Para o IcedTea, o procedimento é semelhante, veja um exemplo:
# apt-get install icedtea-java7-jdk icedtea-java7-plugin
RPM
Já para quem usa sistemas derivados do RedHat, a opção de download
"Linux RPM in self-extracting file" instala um RPM que vai fornecer as
dependências necessárias.
* Comando para contar dependentes:
$ grep-available -F Depends java-virtual-machine -s Package,Depends | grep ^Package | wc -l
Para tornar o binário executável, use o comando:
# chmod +x jre-6u1-linux-i586-rpm.bin
Rodando o comando abaixo, o próprio instalador se encarregará de aplicar o pacote RPM no sistema:
# sudo ./jre-6u1-linux-i586-rpm.bin
No OpenSUSE, após estes passos, são necessários alguns comandos para integração com o sistema. São eles:
# ln -s /usr/java/latest /usr/lib/jvm/jre-1.6.0-sun
Para criar o link simbólico na pasta correta
# update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre-1.6.0-sun/bin/java" 1
Para "cadastrar" o Java 6 como uma JRE no sistema
# update-alternatives --config java
Enfim para configurar e setar ele como padrão.
Rodando o último comando, basta escolher na tela, digitando o número da opção desejada, a JRE que vai ativar como padrão. Veja:

No caso do Fedora, o procedimento é semelhante. Veja este passo-a-passo baseado nas instruções de Duli:
# yum install -y compat-libstdc++-33 compat-libstdc++-296
# yum remove -y jre.i586
$ wget -O ~/jre-6u3-linux-i586-rpm.bin http://javadl.sun.com/webapps/download/AutoDL?BundleId=11283
$ chmod +x jre*
# ./jre*
Aceite a licença (yes e enter)
$ rm -rf jre*
# ln -s /etc/alternatives/java /usr/bin/java
# /usr/sbin/alternatives --install /usr/bin/java java /usr/java/default/bin/java 2
$ echo 2 | sudo /usr/sbin/alternatives --config java
Verifique então se a instalação foi bem sucedida:
$ java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)
Para instalar o plugin Java no Firefox, rode o comando abaixo:
# ln -s /usr/java/default/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/.
E teste se o plugin foi instalado de maneira correta, rodando o comando abaixo:
$ firefox http://www.java.com/en/download/installed.jsp
Clique em "Verify installation". Se a instalação tiver sido correta, deverá aparecer uma mensagem como esta:
"Congratulations!
You have the recommended Java installed (Version 6 Update 2)."
Já para instalar o 1.5, siga o mesmo procedimento, só trocando os links e nomes de arquivos/pastas pelas versões corretas.
Para instalar o IcedTea é muito fácil, devido á este estar nos repositórios oficiais da distribuição (por ser código livre). Rode, como root:
# yum install java-1.7.0-icedtea
Genérico
Se sua distribuição não usa o sistema Debian nem RPM de gerenciamento
de pacotes, você poderá ainda instalar da forma genérica. Para isso,
baixe a versão Linux (não a RPM), com um nome semelhante à
jre-6u3-linux-i586.bin. Mova-o para a pasta /usr/lib:
# mv jre-6u3-linux-i586.bin /usr/lib
E dê a permissão de executável:
# chmod +x jre-6u3-linux-i586.bin
Execute-o, iniciando a isntalação, com o comando:
# ./jre-6u3-linux-i586.bin
Conforme a instalação caminha, responda "yes" às perguntas e licenças.
O instalador extrairá todos os arquivos, e depois dda conclusão, faça
um link, para padronizar a versão instalada:
# ln -s jre1.6.0_03 java
Rode, assim como dito acima, os comandos para configuração do JRE 1.6 na máquina:
# ln -s /usr/java/latest /usr/lib/jvm/jre-1.6.0-sun
# update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre-1.6.0-sun/bin/java" 1
# update-alternatives --config java
Para o Java 1.5, o procedimento é semelhante, somente trocando os links
e nomes de arquivos/diretórios. Já para o 1.7, ainda não é possível
efetuar os passos desta maneira, visto que ele ainda não possui
binários para download. Mas como disse, muito provavelmente sua
distribuição deve tê-lo empacotado.
Agora veja uma outra dica por Saulo Vieira. utilize-a somente se, após a seção "Finais", abaixo, não funcionar corretamente.
"Assim quando for instalar outras versões não terei que sair
configurando o Java em vários locais, basta remover o link JDK e criar
um outro link de mesmo nome porém apontando para uma nova versão.
Para o Java funcionar, temos que configurar as variáveis de ambiente no
arquivo profile localizado dentro do diretório etc. Vamos ver os passos:
Abra o arquivo usando o seu editor de textos preferido (vi, kedit ou o gedit). No exemplo, utilizaremos o gedit:
# gedit /etc/profile
Depois de aberto vá ao final do arquivo e crie adicione as seguintes linhas:
export JAVA_HOME=/usr/lib/java
export CLASSPATH=JAVA_HOME/lib/:$CLASSPATH
export PATH=$JAVA_HOME/bin/:$PATH
export MANPATH=$JAVA_HOME/man:$MANPATH
Salve as modificações e feche o arquivo.
Algumas explicações:
- JAVA_HOME é a variável de ambiente que aponta para o
diretorio jre1.5.0_10 que é o diretório home do java. Repare que o
caminho passado para ele é /usr/lib/java isso é possível porque o link
simbólico java redirecionará para o diretório jre1.6.0_3.
- Para acessar o comando java de qualquer diretório da
minha máquina é preciso que os executáveis do diretório bin dentro de
JAVA_HOME estejam disponíveis, conseguimos isso usando a variável PATH,
ao qual passamos o diretorio bin (JAVA_HOME/bin/) onde ficam os
executáveis do Java.
- No CLASSPATH ficam as libs do Java que são usadas na hora da compilação de algum arquivo.
- Já o MANPATH é onde fica o manual do java que poderá ser acessado, por exemplo, por meio de um comando do shell."
Pacotes prontos
As distribuições Ubuntu, Debian, OpenSUSE,
Fedora, e muitas outras já possuem em seus repositórios os pacotes já
prontos, sem necessidade de configuração. Para isso, no Ubuntu (versões
acima de Feisty) e/ou Debian, basta rodar o comando "apt-get install
sun-java6-jre", para o JRE, ou "apt-get install sun-java6-jdk", para o
JDK, como já dito acima. Você também pode fazer isso por ferramentas
gráficas, procurando pelos nomes dos pacotes citados: sun-java6-jre ou
sun-java6-jdk. Com isso, todos os procedimentos acima se tornam
desnecessários.
No OpenSUSE, basta adicionar o repositório alemão de testes da comunidade:
http://download.opensuse.org/repositories/Java:/addon/openSUSE_Factory/
Se você não sabe adicionar um repositório no OpenSUSE, veja um artigo que explica como fazê-lo:
Artigo: Repositórios no openSUSE 10.3: Instalar
programas é algo básico em qualquer distribuição, isso á fato. Mas
também é verdade que pouca gente conhece sobre os repositórios do
openSUSE - não só os oficiais, mas os mantidos pela comunidade e os
alternativos - além de saber sua instalação e acionamento. Vamos dar
mais suporte à esta distro, falando sobre os principais
repositórios existentes, como adicioná-los e os programas que eles
fornecem. Por Júlio César Bessa Monqueiro.
http://www.guiadohardware.net/artigos/repositorios-opensuse-10/
E, depois, procurar pelo pacote java-1_6_0-sun, ou similar (procura por "java"), aplicando-o em seguida.
Outras distribuições também podem ter instalação semelhante, porém, nem sempre com a última versão do JRE/JDK.
Finais
Se você tiver mais de uma máquina virtual instalada e quiser optar
entre elas para somente uma ser a padrão, rode o comando abaixo, como
root:
# update-alternatives --config java
E, para deixar a máquina 1.5 exclusivamente para o Firefox, basta
linkar somente ela como plugin, seguindo os passos já citados, e
deixando outra mais atual como padrão para rodar aplicações Java no seu
sistema.
Depois da configuração, para saber enfim qual versão do Java Runtime Environment está ativa na sua máquina, rode o comando:
$ java -version
Ele voltará todas as informações que necessita:
juliocbm@hercules:~> java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b06)
Java HotSpot(TM) Client VM (build 1.6.0_03-b06, mixed mode, sharing)
Para testar finalmente, abra um programa qualquer em Java, como o jSMS
ou Mercury. Note a diferença visual dos mesmos, antes e depois,
principalmente no GNOME, onde o Java possui maior integração.
Veja o jSMS num GNOME, sob JRE 1.5.0:

E, a absurda diferença, com o JRE 1.6.0:

E já no JRE 1.7, o IcedTea (o visual é semelhante ao do 1.6, contudo,
muda na tela abaixo por causa dos temas do GNOME diferentes, para
ilustrar a integração com o ambiente):

Como disse, as diferenças não são apenas visuais, muita coisa por
dentro mudou, para melhor. O Java é uma plataforma que sempre terá
muitos adeptos, e suas máquinas virtuais estarão em constante evolução.
E o Guia Do Hardware acompanhará para você ;-)
http://www.guiadohardware.net/tutoriais/java-linux/
|