Arquivo de janeiro, 2014

Organização dos POST

Publicado: 22/01/2014 por Guilherme Weizenmann em Organização dos POST

Depois de uma pequena faxina e uma pensadinha em como montar as coisas, decidimos o seguinte:

  • os posts terão prefixos e serão numerados por assunto, de forma a mostrar qual a ordem deles. Essa ordem não necessariamente seja cronológica, mas sim a nível de conteúdo. Sendo assim, se você leu o post 2 de uma série, o próximo conteúdo desse tema é o 3, e o 1 seria o pré-requisito.
  • os post poderão ter sufixos. Caso não haja sufixo (após o número do post) não ha uma variação do tema. Caso haja, poderá haver um post com o mesmo tema sendo tratado em linux e windows, por exemplo. Os sufixos utilizados serão catalogados aqui:
    • L: linux
    • W: windows

Temas abordados por prefixo

ENV – Temas relacionados à ambiente necessário para trabalhar com Java

Anúncios

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!

ENV-002 – Instalação e configuração da JVM e JDK

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

Olá pessoal. Hoje falarei da instalação do Java. O Java vem em dois sabores:

JRE
Java Runtime Environment (Ambiente de tempo de execução Java – tradução meia boca 😛 )
JDK
Java Development Kit (Kit de desenvolvimento Java – tradução boa 😀 )

Então, se você for desenvolver uma aplicação em Java precisará do JDK. Se for usar ou distribuir uma aplicação para o usuário final, precisará do JRE, que por “coincidência”, faz parte do JDK.

Além desses dois sabores do Java, ele também tem 2 fornecedores. Se você pensava que Java era só da Oracle (antigamente Sun), se enganou. Na época em que a Sun não tinha sido comprada pela Oracle, a própria Sun começou um projeto junto à comunidade Java para a disponibilização de um Java 100% open source. Então, se você pensava também que o Java era 100% open source, se enganou. O Java da oracle possui algumas partes fechadas, mas que estão em processo de abertura de código. Então, existem 2 fornecedores do Java: a Oracle e ………… (suspense) ……………. o projeto OpenJDK.

As principais diferenças entre o Java da Oracle e o OpenJDK são:

  • o OpenJDK é 100% open source
  • o OpenJDK, atualmete, roda somente em linux, mas se você joga Minecraft em linux, deveria usá-lo, pois é otimizado para linux.

Onde eu consigo o Java

O Java da oracle, você baixa do site da Oracle para qualquer sistema operacional.

Se você usa linux, principalmente derivados do Debian, terá ainda a opção de acesso via repositório oficial ao OpenJDK e ao Java da Sun (5 e 6 antes da venda da Sun), e via repositório PPA (https://launchpad.net/~webupd8team/+archive/java) ao Java da Oracle (Java 6,7 e 8).

O processo de instalação específico para cada S.O. será abordado nos POST ENV-002L e ENV-002W

Eu instalei, e aí……

Depois de instalado, 3 variáveis de ambiente são necessárias:

  • PATH – já existe, mas precisa estar adequada
  • JAVA_HOME
  • CLASPATH

JAVA_HOME e CLASSPATH são abordadas no post ENV-003(L/W).

Quanto PATH, deve ser adicionado o caminha para os executáveis da Java para que o sistema saiba onde procurar os comandos java, javac, javaws, …, sem que você precise colocar o caminho completo.

Bem pessoal, por hoje é só, mas em breve traremos os procedimentos de instalação do Java em cada plataforma.

Vida longa e próspera!

ENV-002W – Instalando o JDK no Windows

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

Olá pessoal, tudo bem?

Hoje irei escrever sobre a a instalação do JDK no Window$. Caso você não saiba o que é o JDK te convido a ler o post ENV-006 – Conheçendo a JDK.

JDK

Para fazer a instalação do JDK é necessário realizar o download no site da Oracle. Aconselho que sempre seja feito o download da ultima versão do JDK, pois assim terá as novidades da linguagem e correções/melhorias realizadas em cima da JVM. Como não precisamos de uma Magnum para matar uma mosca, iremos baixar o JSE ( nesse caso a nossa Magnum é conhecida como JEE e em outro post falaremos de suas diferenças). Para facilitar, segue o link para download .

Feito as devidas chatices tratativas para baixar o JDK iremos agora fazer a instalação dele.

Instalando o JDK

Bem, agora vamos para o que interessa:

  • Vá até a pasta onde foi realizado o download do JDK e de dois cliques sobre dele. O teu Window$ vai te fazer uma pergunta inteligentíssima querendo saber se você realmente quer executar esse aplicativo. Clique no botão sim (yes) e vamos adiante.
  • Agora que você ajudou o Window$ e fez o favor de confirmar que deseja realmente executar o programa, verá a uma tela igual ou muito semelhante a de abaixo. Clique em next e vamos continuar com a brincadeira.
Tela principal para instalação do JDK.

Tela principal para instalação do JDK.

  1. Feito isso teremos uma tela igual ou muito semelhante a de baixo. Essa tela é interessante pois nos possibilita escolher se queremos instalar o JDK com o código fonte e javadoc (Source code), se queremos instalar a JRE da versão do instalador ( Public JRE) ou se queremos alterar o local da instalação do JDK (change). Nessa tela aconselho a ir direto para o next e não se preocupar com esses detalhes.
Configurações de instalação do java

Configurações de instalação do java

Algo bem importante: Como pode ter observado não comentamos sobre Development tools. Isso foi de propósito pois não temos como remover ele já que ele é JDK.

Algo importante: JRE significa Java Runtime Environment e é utilizado para rodar aplicações java em seu computador como por exemplo aquelas de sites de banco.

Algo um pouco menos importante: Não se preocupe caso você não saiba o que é um javadoc, source code. Você pode ler o nosso post ENV-007 – JavaDocs para que servem e saber mais sobre esses dois itens mencionados.

  1. Clicando em next você verá o JDK ser instalado em seu computador. Se tudo der certo aparecerá uma tela igual ou parecida com a de baixo.
Tela confirmando que a nstalação foi realizada com sucesso.

Tela confirmando que a nstalação foi realizada com sucesso.

Feito isso você tem a JDK em sua maquina e pode iniciar o desenvolvimento de seus aplicativos.

Para fazer a compilação via prompt aconselho dar uma passada no post ENV-001W – Variáveis de ambiente em Windows .

Até a próxima!

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!