Posts com Tag ‘javahome’

ENV-001 – Variáveis de ambiente

Publicado: 21/01/2014 por Guilherme Weizenmann em Básico, java
Tags:, , ,

Olá pessoal. Eu sei que esse, na ordem de temas vem antes do post ENV-001L, mas eu escrevi aquele primeiro…..

Este é apenas a respostas para as seguintes peeguntas:

  • O que são variáveis de ambiente?
  • Pra que servem variáveis de ambiente?

Vamos lá…..

O que são variáveis de ambiente

São variáveis fora dos programas e aplicações que são acessíveis pelos programas e aplicativos e guardam informações sobre o ambiente em que eles se encontram.

Pra que servem variáveis de ambiente

As variáveis de ambiente guardam informações sobre o ambiente atual, tanto pode ser do console/terminal em uso, como do usuário ou do sistema. Olhe os exemplos:

COMPUTER
MINHA_MAQUINA
USER
devjava
AMBIENTE
PRODUCAO
PATH
C:\windows;C:\windows\system (windows)
/bin:/usr/bin (Linux, Unix)

Traduzindo em miúdos, as variveis de ambiente são placas em uma cidade grande, dizendo aos programas e aplicativos alguns dados básicos para que possam se localizar.

Como configurá-las

Isso depende do sistema operacional. Veja os posts ENV-001L e ENV-001W.

Isso é tudo pessoal!

Anúncios

Olá novamente a todos.

Agora são exatos 1:52 da madrugada e estou com pouco sono, então para distrair a mente resolvi escrever esse post… quem sabe o java me de sono 🙂 .

Agora falando sério,  para que você consiga entender esse post é importante já ter lido os posts que tratam sobre a instalação do JDK e sobre o conceito das variáveis de ambiente. Não é uma questão de pré-requisitos ( isso não é uma faculdade), mas são tópicos interessantes de serem lidos, principalmente do JAVA_HOME e CLASSPATH.  Então, como diria uma chefe que tive: fica a dica   🙂 .

Como criar o JAVA_HOME, CLASSPATH e PATH?

O Windows como o linux permite que você crie a variável de ambiente nos escopos local (console),  usuário e sistema. Segue um breve resumo desses três escopos:

Local: A variavel existe enquanto estiver com o prompt de comando aberto. Fechou o prompt,perdeu a variável.

Usuário: Apenas aquele usuário poderá utilizar essa variável.

Sistema: Essa variavel aparece em todo o sistema, dessa forma qualquer usuário que utilize o windows de utilizar o compilador e executor java.

Nesse tópico iremos tratar da variavel local e de sistemas, pois sinceramente nunca vi funcionar direito o escopo de usuário.

Escopo local

Esse é mole-mole e mais rápido do que você ir na cozinha pegar aquele café que estava fazendo. Preste bastante atenção porque é super complicado. Abra o console e digite:

set path=%path%;C:\<local do java home>.

Pronto, ai você já pode fazer o javac para chamar o compilador do java e compilar o teu código.

Escopo de sistema

Para se criar o JAVA_HOME, CLASPATH e PATH no escopo de sistema é necessário realizar alguns passos. Se você estiver utilizando o windows XP ou superior e tiver um teclado que tiver a tecla pause,  você pode se utilizar a seguinte combinação de tecla de atalhos: Bandeira do windows (aquela ao lado do alt esquerdo) + pause. Caso seja como eu que não tenho a tecla pause no teclado, acesso o Painel de Controle e clique no ícone Sistemas. Irá aparecer uma janela chamada propriedades do sistema com diversas abas. Acesse a aba Avançados , botão variáveis de ambiente (figura 1 e 2).

fig1

Figura 1 – Propriedades do sistema.

fig2

Figura 2 – Tela com as variáveis de ambiente.

É nessa tela que tu irá criar o JAVA_HOME, CLASSPATH e editar o PATH para criar a variável em escopo de sistema.

MUITA ATENÇÃO NESSA HORA!!!!!

Esse ponto é crucial!!!! Na figura dois, pode ser visto dois tipos de variáveis e respectivos botões. Esqueça por completo os botões NOVA, EDITAR e EXCLUIR da caixa das variáveis de usuário e clique em NOVA na variável do sistema(figura 3).

fig2nova

Figura 3: Utilize as variáveis do sistema e não variáveis do usuário.

Clicando em nova irá aparecer a seguinte tela (figura 4).

fig3

Figura 4: Adicionando nova variável de sistema.

Nessa tela iremos adicionar o JAVA_HOME e o CLASSPATH.

Atenção de novo!

O nome da variável irá receber o nome JAVA_HOME e o valor da variável será o endereço que foi instalado o JDK. Em meu caso ele foi instalado em c:\program files\java\jdk1.6.0_17 (figura 5). Adicione os valores e clique em OK para validar as informações setadas.

fig_JAVA_HOME

Figura 5: Adicionando JAVA_HOME.

Adicionado o JAVA_HOME chegou a vez de criarmos o CLASSPATH. Esse ai será um pouco trabalhoso por se tratar de diversos arquivos .jars. A lógica para criação é parecida com a das figuras 3, 4 e 5, porém mudando apenas o nome e o valor da variável.

fig_CLASSPATH

Figura 6: Adicionando CLASSPATH.

Agora que temos a JAVA_HOME não é preciso colocar todo o caminho do JDK para a pasta lib e jre/lib, isto é, c:\program files\java\jdk1.6.0_17\lib e c:\program files\java\jdk1.6.0_17\jre\lib. O que precisa-se é indicar a variável de sistema JAVA_HOME e a pasta desejada (figura 6). A seguir como que deve ficar as informações do valor de variável.

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\jre\lib;%JAVA_HOME%\jre\lib\rt.jar

Escreva exatamente como está acima ( inclusive com o .; no inicio, as %% entre o JAVA_HOME e os ; antes de escrever o novo caminho) ou apenas copie e cole no valor da variável(muito mais fácil né :)).

Imagino que já tenhas observado que nas variáveis de sistema existe uma variável com o nome PATH. Selecione ela e clique em EDITAR ou de um duplo clique em cima (figura 7).

fig2editar

Figura 7: Editando o PATH.

Dentro do PATH devemos adicionar a exata linha de comando: ;%JAVA_HOME%\bin . O PATH editado deverá ficar igual a imagem abaixo.(figura 8). Apenas para lembrar, o igual que eu digo é a linha de comando (;%JAVA_HOME%\bin ) e não o que tem antes dela.

fig_PATH

figura 8: Adicionando o valor da variável no PATH.

Feito isso clique Ok para fechar todas as caixas abertas e as validar e abra um prompt e digite javac. Caso funcione a aplicação é que está tudo configurado corretamente, caso contrário, verifique se adicionou corretamente o endereço do JAVA_HOME ou se não se esqueceu de algum detalhe como ponto e virgula.

Se você quer uma maneira mais gambiarristica prática de configurar, faça os passos da figura 1 e 2 e edite o PATH das variáveis de sistema colocando direto o caminho do JAVA_HOME/bin sem criar as variáveis do JAVA_HOME o que na caso desse post seria c:\program files\java\jdk1.6.0_17\bin .

Bem, vou lá dormir se não irei ficar sem esposa. Dizem que elas gostam de atenção independente de estarem acordados ou dormindo ( fica a dica 😀 )

[]s

Olá pessoal, tranquilo?

Como o nosso querido blog está passando por algumas reformulações, resolvemos  pegar o tópico   JAVA_HOME, CLASSPATH e PATH. O que são, para que servem e como configura-los. e fatia-lo em pedaços, colocando cada coisa em seu lugar. Dessa maneira, estão surgindo novos tópicos e um deles (este) apresenta e trata sobre as benditas variáveis de ambiente.  De repente, você esteja se perguntando o porque de não continuar tudo na mesma pagina…. pois bem, é que com a vinda do outro editor, teremos alguns tópicos tratando especialmente sobre o java no linux e alguns assuntos (como esse por exemplo) iriam se replicar em duas páginas e como somos programadores java e gostamos de boas práticas de programação iremos aplicar o princípio SOLID da responsabilidade única e colocaremos cada coisa em seu devido lugar.

Esse tópico não explica como configurar as variáveis de ambiente no sistema operacional. Para saber sobre isso deve acessar os tópicos que tratam especificamente sobre o assunto. Segue abaixo seus respectivos links.

Dito isso vamos ao que interessa.

 O que são as variáveis de ambiente JAVA_HOME e CLASSPATH

As variáveis de ambiente JAVA_HOME e CLASSPATH são caminhos utilizados pelo java para que ele possa encontrar o compilador e executar o código que você está escrevendo. Ok, explicação bem sucinta, certo? Então, vamos nos aprofundar nesse mar….Toda vez que você precisar rodar o programa que está sendo escrito, necessariamente você irá precisar compila-lo para que a sua JVM possa executa-lo.  O compilador java ( javac) e o executar java (que “curiosamente” se chama java ) se encontram na pasta bin da JDK  (ex: no windows C:\Program Files (x86)\Java\jdk1.7.0_45\bin e no linux <insira aqui o local do linux>) e você precisa acessa-los para compilar e executar o código. Então como iremos fazer isso? Existem algumas opções e vamos a elas.

1º – Colocar todas as tuas classes no bin do jdk. Isso é extremamente ruim porque iremos ter nossas classes misturadas com os executáveis do java. Se você for como eu pode pensar em colocar em pastas e assim deixar mais organizado, mas apesar de estar organizado, vai continuar em um lugar que não deveriam de estar.

2º – Copiar o javac e java para o local de teu código: Esse ai eu já tentei e vou te dizer, vai dá erro porque tanto o javac como o java precisam de bibliotecas da JDK para funcionar corretamente.

3º – Copiar o bin do JDK  para cada local onde iremos ter as nossas classes: Será que preciso dizer que isso não irá funcionar?

 Então o que iremos fazer?

Criaremos variáveis de ambientes que apontem para a pasta bin e simulem que o seu código java esteja lá dentro. Simples, certo? Por esse motivo que existem os famosos JAVA_HOME e CLASSPATH.   Abaixo uma descrição sobre eles.

JAVA_HOME: JAVA_HOME, como o nome já diz é a LAR_DO_JAVA. (tradução estranha!). É nele que se indica onde que foi instalado o JDK (lar == morada == local em que “MORA” o JDK). Por exemplo: o meu JAVA_HOME é C:\Program Files\Java\jdk1.6.0_17 . Muitas vezes as pessoas pensam que o JAVA_HOME é onde está instalado o JRE. NÃOOOO É ISSO! Quando se pensa JAVA_HOME,CLASSPATH e PATH se usa tanto o JDK e quanto o JRE.  Usurios usam o JRE e desenvolvedores usam o JDK!!!!!

CLASSPATH: Ele significa caminho de classe. É onde se indica os .jars que estão localizados na pasta lib e jre/lib do JDK.

Agora você deve estar pensando mais ou menos o seguinte: Legal, entendi e agora como configuro isso?

Bem, isso depende de teu Sistema Operacional e sendo assim disponibilizamos dois links ( os mesmos apresentados antes no inicio do tópico) mostrando como que deve ser feito. A versão windows foi feita por mim e a versão GNU/Linux feita pelo Guilherme.

Dúvidas, elogios e sugestões são bem vindas (principalmente elogios 😀 )

[ ]s

ENV-002L – Instalando o JDK no linux

Publicado: 17/01/2014 por Guilherme Weizenmann em Básico, java
Tags:, , , ,

Olá pessoal. Seguindo com os posts, e em homenagem ao meu colega de blog que se converteu ao linux (=D rsrsrss), agora vamos instalar a JVM e o JDK no linux. Como eu já comentei antes, eu uso Debian e seus derivados. Mais exatamente, tenho um Debian 7 no trabalho e Ubuntu 13.10 no meu notebook. Então, conclui-se que mostrarei como instalar a JVM e o JDK no Debian 7/Ubuntu 13.04.

Instalação de qualquer programa/pacote no linux

Todos os linux possuem algum gerenciador de pacotes. De forma simples, um pacote pode ser um programa, um pedaço de um programa (configurações, bibliotecas, arquivos afins), ou um conjunto de programas. O Debian e seus derivados são equipados com o dpkg e seu irmão mais novo e moderno, o apt-get. Para facilitar, iremos usar o apt-get.

Para instalar um pacote chamado xyz:

apt-get install xyz

O comando deve ser executado como administrador. Caso não saiba como, no terminal, digite sudo antes do comando, e digite a sua senha:

sudo apt-get install xyz

Para remover, troque install por purge. Expurgar um programa/pacote remove inclusive os arquivos de configuração do pacote a nível de sistema. Caso deseje mantê-los, use remove.

Instalando o OpenJDK 7

Existe mais de uma versão do Java, e não estou me referindo a numeração, mas sim, implementação. A mais famosa, no Windows, é a implementação da Sun/Oracle, mas no linux, não é a única. O OpenJDK, implementação totalmente open source do Java, disponível apenas para Linux (roda no BSD tb via port), é otimizada para linux. Ela é dividida em pacotes:

openjdk-?-jre-headless
JRE sem suporte a UI
openjdk-?-jre
JRE com suporte a UI
openjdk-?-jdk
JDK
openjdk-?-sources
código fonte do Java
openjdk-?-docs
documentação do Java (javadocs)
openjdk-?-demo
programas de demonstração
icedtea-?-plugin
plugin Java para applets nos navegadores de internet e suporte a Java Web Start

Onde ? é o número da versão do Java: 5, 6, 7…

Então, para instalar o Java 7 (JRE):

sudo apt-get install openjdk-7-jre

E para instalar o JDK 7:

sudo apt-get install openjdk-7-jdk

E para instalar o JDK 7, com javadocs e fontes:

sudo apt-get install openjdk-7-jdk openjdk-7-docs openjdk-7-sources

Instalando o Java da Oracle

Existem basicamente 2 formas de instalar o Java da Oracle no Debian e seus derivados:

  • baixando do site e instalando manualmenfe (difícil – tente se quiser, mas não vou abordar isso aqui)
  • usando o PPA Webupd8 (facinho facinho)

O PPA Webup8 é um repositório que contém pacotes para serem instalados no Ubuntu (Debian e seus derivados também) que fazem o download do Java da Oracle e instalam ele pra você. O site deles é [https://launchpad.net/~webupd8team/+archive/java]. As instruções estão lá, mas para facilitar, irei colocar aqui as instruções para o Ubuntu.

Basta dar os seguitens comandos e seguir as instruções na tela (dar alguns enters rsrsrsr):

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get install oracle-java7-installer

Múltiplos Javas

No linux é possível manter mais de uma instalação do Java, de diferentes versões e implementações. Por exemplo, você pode definir que o compilador javac será do OpenJDK 6, que o executor java será do OpenJDK 7 e que o executor JWS javaws será o Oracle Java 7. Para selecionar, basta dar o seguinte comando:

sudo update-alternatives --all

Vai aparecer várias coisas, mas o importante é:

  • sempre que aparecer algo que não esteja vinculado com o Java, de um enter que não será alterado.
  • sempre que aparecer algo vinculado ao Java, selecione um opção (número) e dê enter.

Para sair a qualquer momento, dê ctrl + c. Isso irá para o processo de seleção, mas não descartará as alterações, ou seja, o que foi alterado está salvo. Para desfazer, rode o comando novamente e altere a sua escolha.

Qualquer coisa é só perguntar!

Ao infinito e além!