30 janeiro 2007

Instalação Java 2 Standard Development Kit

Neste post aproveito para inaugurar minhas colaborações com a comunidade Java brasileira de forma simples, mas que pode sim ser o incentivo a produção de documentos para o restante do pessoal que acha que sabe pouco, aviso a todos que o pouco para quem nada sabe é muito.

Então chega de papo furado e vamos lá....

A primeira coisa e óbvia a se fazer é baixar os pacotes de instalação no site da sun.

JDK 6 e Java SE 6 Documentation
Arquivo: jdk-6-linux-i586.bin
http://java.sun.com/javase/downloads/index.jsp

Beleza, já baixou? Então, vamos dar um jeito na coisa...

JDK, JSDK, J2SDK é tudo a mesma coisa toda esta parafernalha de siglas correspodem ao pacote essencial para o desenvolvimento Java SE, composto pela Java API, o compilador javac, o JRE e etc que precisamos.

Galera outra coisa, não confunda JRE com JDK, o primeiro tem a função de permitir a execução de nossos programas checando e executando os 'bytecodes' (programas compilados) que nós geramos. Para exemplo de sua utilização podemos citar o plugin Java requerido pelos navegadores que é justamente fornecido através da instalação da JRE e sua devida configuração.

Prossigamos...

Instalando JDK e configurando ambiente de desenvolvimento Desktop:

Altere as permissões do pacote 'jdk-6-linux-i586.bin' permitindo que ele seja executado:

asclows@linux-q8p2:~> chmod +x jdk-6-linux-i586.bin

Execute-o! Será iniciada a descompactação do pacote resultando em um diretório 'jdk-1.6.0':

asclows@linux-q8p2:~> ./jdk-6-linux-i586.bin

Ao executar o comando acima, termos de acordo da Sun serão exibidos na tela, como ninguém tem o saco de ficar lendo tanta coisa sabendo que no final de tudo será obrigado a aceitar caso deseje usufruir do kit, então pressione a tecla ENTER até que as mensagens de confirmação do tipo 'yes/no' aparecam e é lógico digite 'yes' teclando ENTER novamente para confirmar.

Após a descompactação mova o diretório jdk-1.6.0 para '/usr/lib/', este local é só uma recomendação, se quiser instalar em outro local tudo bem, mas não esqueça que ele precisa ser visível a outros usuários do PC caso você não seja o único desenvolvedor na parada. Crie um link simbólico para utilizar como referência ao diretório descompactado

asclows@linux-q8p2:~> cd /usr/lib
asclows@linux-q8p2:~> ln -s /usr/lib/jdk-1.6.0 java

Obs: Isso facilita o processo em futuras atualizações eliminando alterações nas configurações que serão exemplificadas a seguir.

Variáveis de ambiente

Agora precisamos setar as variáveis de ambiente, que serão o modo como as aplicações encontraram o Java que estamos instalando agora, sem tal configuração nada funciona. Então, faça o seguinte:

Edite o '/etc/profile' adicionando as seguintes linhas:

#
# Custom settings
# Executar todos scripts abaixo do diretorio
# '/etc/profile.d'
sempre que um usuário se
# logar no sistema.

#
for i in /etc/profile.d/*.sh ; do
if [ -x $i ]; then
. $i
fi
done

Observação: Caso o diretório '/etc/profile.d' não exista você deverá criá-lo manualmente.

Crie o arquivo java.sh sob o diretório 'profile.d' com o seguinte conteúdo:

#!/bin/bash
JAVA_HOME="/usr/lib/java";
JRE_HOME="$JAVA_HOME/jre";
CLASSPATH="$JAVA_HOME:$JAVA_HOME/lib:$JRE_HOME/lib:.";
MANPATH="$MANPATH:$JAVA_HOME/man";
JAVA_DOC="$JAVA_HOME/docs";
PATH="$PATH:$JAVA_HOME/bin:$JRE_HOME/bin";

export JAVA_HOME JRE_HOME CLASSPATH MANPATH JAVA_DOC PATH

Pronto! Agora para que possamos criar o tão aguardado 'HelloWorld' precisamos fazer um logoff e em seguir logon no sistema para que as variáveis de ambiente sejam setadas como queremos!

3 comentários:

cassioso disse...

Você é a primeira pessoa que vejo fazendo um "java.sh". Porque não usou o bashrc, por exemplo?

Parabéns pelo post.

abel.mirabel disse...

Ola Segui todos os passos mas na hora de escrever no sh os java_home....
na hora de salvar ele fala que eu nao tenho permissão pra fazer essa auteração
voce pode me ajudar?
obrigado
estou com muita urgencia para resolver isso

cleber disse...

oi cara vc deve esta no usuario root para fazer tais alterações.Flow