ENV-003 – Variáveis de ambiente Java: JAVA_HOME, CLASSPATH

Publicado: 17/01/2014 por Ari Cesar em Básico, java
Tags:, ,

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

Anúncios
comentários
  1. Fernando Mafra disse:

    Cara muito, muito bom mesmo!
    Tenho mais de 2 anos de experiência em programação java, e trabalho com informática desde de 2011 e nunca vi uma explicação tão bem feita (clara e objetiva) ..
    Congratulations!!!!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s