Posts com Tag ‘variáveis de ambiente’

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.

Eu sou novo por aqui, e este será meu primeiro post. Como o nome do blog sugere, este deveria ser um blog sobre Java. Então você deve estar se perguntando: por que diabos a criatura vai começar falando de ariáveis de ambiente em Linux? Resposta: eu uso linux, acho maravilhoso e não troco por Ruindows da Micro$oft, e, esse é um assunto recorrente quando se trata de configuração de ambiente e ferramentas Java (ou qualquer outra linguagem).

No linux existem o que podemos chamar de 3 escopos básicos para definição de variáveis de ambiente: terminal, usuário e sistema ou global. Para ficar mais claro: se você só vai usar na tela preta dos comandos, poderá definir as variáveis a nível de terminal. Se for só você que vai usar as variáveis, ou só vocé usa o computador (é o meu caso), pode definir a nível de usuário. Se precisar de uma variável disponível para vários usuários ou processos que rodam em segundo plano como daemons iniciados automaticamente com o sistema operacional, você precisará usar o escopo global.

Bem, vamos ao trabalho…

Fazendo a variável funcionar no terminal

No linux se usa shell script, e é isso que vamos usar como base para as definições. Para definir uma variável, basta digitar no terminal o seguinte (e apertar ):

NOME_DA_VARIVEL="valor dela"

Para conferir se funcionou, digite (note o $ na frente):

echo $NOME_DA_VARIAVEL

e o resultado que deverá aparecer é

valor dela

Para que a variável fique visível a nível de terminal, o comando deve ser precedido de export:

export NOME_DA_VARIVEL="valor dela"

Definindo a variável na abertura do terminal

Sempre que se abre um terminal, que rode o interpretador bash (caso do Debian e seus derivados, como Ubuntu), o seguinte arquivo é lido:

  • .bashrc

Note o ponto na frente do nome. Isso significa que o arquivo é oculto. Então basta incluir uma linha no arquivo com a definição da variável e voilá, funcionará!

Definindo a variável a nível de sessão

Basta fazer o mesmo que acima, mas no arquivo a seguir:

  • .profile

Definindo a variável a nível de sistema

Agora muda tudo! Brincadeirinha :D….

Basta fazer o mesmo, mas como administrador, no seguinte arquivo:

  • /etc/environment

Para editar como administrador, abra o terminal e digite:

sudo nano /etc/environment

Para salvar, aperte CTRL + O, e para sair, CTRL + X.

Observação

Se você for que nem eu, deve ter tentado fazer sem terminar e ler tudo. Para a mágica funcionar você deve reiniciar escopo:

  • o terminal: fechar e abrir de novo, ou abrir outro
  • a sessão: logou e login
  • o sistema operacional: reboot

Outra coisa, defina em somente um escopo, para poder saber exatamente onde você colocou e poder atualizar ou corrigir, se necessário…..

Até mais e obrigado pelos peixes!

Olá Pessoal, tudo bem?

Esse post foi quebrado em outros posts para assim diminuir o tamanho e facilitar o entendimento de quem estiver lendo.

Segue abaixo os links para os posts.

ENV-001 – Variáveis de ambiente : Apresentação do conceito de variáveis de ambiente.

ENV-003 – Variáveis de ambiente Java: JAVA_HOME, CLASSPATH : Apresenta o conceito das variáveis de ambiente do Java. Esse post não ensina como configura-las.

ENV-001W – Variáveis de ambiente em Windows : Ensina como configurar as variáveis de ambiente no Windows ( traduzindo, como compilar no prompt utilizando o javac e o java).

ENV-001L – Variáveis de ambiente em Linux : Ensina como configurar as variáveis de ambiente no Linux ( idem ao anterior, mas para o terminal do Linux).

Abraço e até a próxima.