O que é a linguagem Java

A Linguagem Java é distribuída em dois grandes pacotes. O primeiro pacote, chamado JRE (Java Runtime Environment), é responsável por permitir que aplicações escritas em Java sejam executadas e deve ser instalado em computadores que não serão utilizados para desenvolvimento de softwares Java.

O segundo pacote, chamado JDK (Java Development Kit), é o pacote que contem toda a infraestrutura necessária para o desenvolvimento de aplicações Java. Ao ser instalado, o JRE é instalado automaticamente.

Este artigo demonstrará os passos para instalação e configuração do pacote JDK nos sistemas operacionais Linux e Windows. Também explicará as diversas opções de configuração contidas no Painel de Controle Java.

Instalação

Para instalar o JDK no Linux ou no Windows primeiramente é necessário efetuar o download do arquivo de instalação. Para isso deve-se acessar o site da Oracle (vide seção Links) e baixar versão do JDK correspondente ao sistema operacional e arquitetura (32 ou 64 bits) utilizada.

Após o download do arquivo de instalação ter sido concluído, a instalação do JDK é feita executando-se o programa de instalação. O nome do arquivo de instalação para o Windows tem o formato jdk-<versão>-windows-<arquitetura>.exe, onde <versão> é a versão do JDK e arquitetura pode ser 32 ou 64 bits, por exemplo, jdk-8u66-windows-x64.exe. No sistema operacional Linux o formato do nome é jdk-<versão>-linux-<arquitetura>.tar.gz, por exemplo, jdk-8u66-linux-x64.tar.gz.

Para instalar o JDK no Windows, executar o programa de instalação e clicar no botão Next em todas as telas apresentadas. O processo é simples e rápido. Para instalar o JDK no Linux executar os comandos da Listagem 1.

Listagem 1. Instalação do JDK no Linux

- Estando no modo gráfico, abrir um Terminal
     
    - Copiar o arquivo de instalação para o diretório de sua preferência com o comando abaixo
     
      $ cp jdk-<versão>.tar.gz <caminho-completo-do-seu-diretório>
     
    - Mudar para o diretório de sua preferência
     
      $ cd /<caminho-completo-do-seu-diretório>
     
    - Descompactar o arquivo
     
      $ tar -zvxf jdk-<versão>.tar.gz

Outra maneira de instalar o JDK no Linux é usando o programa apt-get presente nas distribuições Linux. O apt-get é um programa que permite a instalação e a atualização de pacotes (programas e bibliotecas) de maneira simples e fácil. A Listagem 2 mostra como instalar o JDK usando o apt-get.

Listagem 2. Instalação do JDK no Linux usando apt-get

- Estando no modo gráfico, abrir um Terminal e digitar os comandos abaixo
     
      $ sudo add-apt-repository ppa:webupd8team/java
      $ sudo apt-get update
      $ sudo apt-get install oracle-java8-installer

O comando add-apt-repository adiciona o local ppa:webupd8team/java no repositório do apt-get. Em seguida o repositório é atualizado com o comando apt-get update. O comando apt-get install irá instalar o pacote JDK 8 da Oracle.

Configuração básica

A configuração básica do JDK consiste na criação das variáveis de ambiente JAVA_HOME e CLASSPATH. Estas variáveis são importantes para que os programas relacionados ao desenvolvimento de aplicações Java possam encontrar, no diretório onde o JDK foi instalado, as diversas bibliotecas para a construção de softwares Java.

Para criar as varáveis JAVA_HOME e CLASSPATH no Linux, executar os comandos da Listagem 3.

Listagem 3. Criando variáveis de ambiente JAVA_HOME e CLASSPATH no Linux

- Estando no modo gráfico, abrir um Terminal
     
    - Editar o arquivo /etc/profile com o comando abaixo
     
      $ sudo gedit /etc/profile
     
    - Adicionar as linhas abaixo no inicio do arquivo /etc/profile
     
      JAVA_HOME=diretório-onde-jdk-foi-instalado
      CLASSPATH=.;$JAVA_HOME/lib
      PATH=$PATH:$JAVA_HOME/bin
      export JAVA_HOME
      export CLASSPATH
      export PATH
     
    - Salvar o arquivo e efetuar um logoff para que as variáveis de ambiente entrem em vigor.

O arquivo /etc/profile mencionado na Listagem 3 é um arquivo padrão dos sistemas operacionais Linux e ele armazena configurações básicas de inicialização do perfil do usuário.

No Windows as variáveis de ambiente são criadas conforme a Listagem 4.

Listagem 4. Criando variáveis de ambiente JAVA_HOME e CLASSPATH no Windows

- Abrir um Prompt do MS-DOS
     
    - Executar os comandos abaixo
     
      setx JAVA_HOME "<diretório-onde-jdk-foi-instalado>"
      setx CLASSPATH %JAVA_HOME%\lib
      setx PATH %PATH%;%JAVA_HOME%\bin
     
    - Fechar o Prompt do MS-DOS

O comando setx.exe é parte do Windows Vista ou superior. Versões anteriores precisam de um pacote adicional chamado Windows Resource Kit. O detalhamento deste pacote adicional esta fora do escopo desse artigo.

Testando a configuração básica

Para testar a configuração das variáveis de ambiente, tanto no Linux como no Windows, executar os comandos da Listagem 5.

Listagem 5. Testando a configuração básica no Linux e no Windows

- Abrir um Terminal (Linux) ou um Prompt do MS-DOS (Windows)
     
    - Digitar o comando abaixo
     
      javac -version

O comando javac -version deverá produzir uma saída no console do Terminal Linux ou do Prompt MS-DOS contendo a versão do Java. Caso isso não aconteça, verifique se a versão correspondente ao sistema operacional foi instalada corretamente (revendo os passos das seções Instalação e Configuração básica), se o diretório foi informado corretamente na variável de ambiente JAVA_HOME e se o logoff foi efetuado.

Painel de Controle Java

O Painel de Controle Java faz parte do pacote JDK e oferece diversas opções avançadas para configuração, tais como definição da periodicidade de verificação de atualizações do Java, definição de proxy alternativo e habilitação de logs.

Para executar o Painel de Controle Java no Linux, digitar o comando ControlPanel num Terminal Linux. No Windows, clicar no Menu Iniciar, selecionar Painel Controle, depois selecionar Programas e clicar na opção Java. Em ambos os sistemas operacionais será exibida uma janela conforme a Figura 1.

Painel de Controle Java
Figura 1. Painel de Controle Java.

As opções de configurações avançadas do Painel de Controle Java estão agrupadas em cinco categorias: Geral, Atualizar, Java, Segurança e Avançado. Cada uma dessas categorias será detalhada nas próximas seções.

Painel de Controle Java – Aba Geral

A aba Geral disponibiliza opções para configurar um proxy alternativo (Definições de Rede) e também opções para configurar definições de armazenamento de arquivos temporários, conforme mostra Figura 1.

A opção Definições de Rede possibilita configurar um proxy diferente do que é utilizado pelo navegador de Internet. Isso é importante nas situações onde não é permitido modificar o proxy atual para que o Java acesse a Internet. A Figura 2 mostra as opções para configuração do proxy.

pções para configuração do proxy
Figura 2. Opções para configuração do proxy.

Para uma correta configuração do proxy é necessário consultar o administrador de redes da empresa para obter os dados relativos ao endereço e porta do proxy ou para obter o local do script de configuração do proxy. O detalhamento sobre proxy e script de configuração esta for a do escopo desse artigo.

A opção Definições possibilita a configuração do cache para arquivos temporários gerados quando aplicações Java são executadas pelo navegador de Internet. O cache é um espaço no disco rígido onde arquivos são armazenados para serem executados posteriormente de forma mais rápida. A Figura 3 mostra as opções para configurar o cache.

Definições dos Arquivos Temporários
Figura 3. Definições dos Arquivos Temporários.

A opção Excluir Arquivos limpará os arquivos armazenados no cache e a opção Restaurar Padrões restaura os valores originais para o local e o tamanho do cache caso estes tenham sido modificados. Estas duas opções estão na Figura 3.

Painel de Controle Java – Aba Atualizar

A aba Atualizar (Figura 4) permite configurar como será realizada a atualização do Java, definindo a periodicidade da verificação de novas atualizações e como o usuário será notificado. O botão Atualizar Agora permite que o Java seja atualizado a qualquer momento, caso exista uma atualização disponível.

Aba Atualizar do Painel de Controle Java
Figura 4. Aba Atualizar do Painel de Controle Java.

Na versão 1.6 do JDK a opção de atualização esta na Aba Avançado, no item Download Automático JRE conforme Figura 5.

Opção Atualização no JDK versão 1.6.
Figura 5. Opção Atualização no JDK versão 1.6.

Painel de Controle Java – Aba Java

A Figura 6 mostra a aba Java. Nesta aba é possível visualizar todas as versões do JDK instalados no sistema operacional e também é possível desativar as versões não mais utilizadas. Algumas vezes o navegador de Internet não reconhece a última versão do JDK instalado por não estar ativo. Nessas situações deve-se desativar as versões antigas e ativar a versão nova.

Java do Painel de Controle Java
Figura 6. Aba Java do Painel de Controle Java.

O botão Exibir da aba Java (Figura 6) mostra uma janela contendo dados dos pacotes JDK instalados. A Figura 7 mostra quais são estes dados.

Janela contendo dados dos pacotes JDK instalados
Figura 7. Janela contendo dados dos pacotes JDK instalados.

A aba Usuário (Figura 7) mostra as versões do JDK instalados para o perfil Usuário. Na aba Sistema constam as versões instaladas para o perfil Sistema, ver Figura 8. A diferença entre os perfis é que no perfil Usuário estão as versões instaladas apenas para o usuário logado, enquanto que no perfil Sistema, os pacotes serão visíveis para todos os usuários logados no computador.

A ativação do JDK mais recente é feita pela coluna Ativado. A Figura 7 mostra que existem diversas versões do JDK instaladas e que todas estão ativas. A orientação é que exista apenas uma versão ativa.

Aba Sistema da janela contendo pacotes JDK instalados
Figura 8. Aba Sistema da janela contendo pacotes JDK instalados.

Painel de Controle Java – Aba Segurança

A aba Segurança (Figura 9) disponibiliza opções para ativar programas Java no navegador de Internet, configurar o nível de segurança das aplicações e a definição de uma lista de exceções para sites.

Aba Segurança do Painel de Controle Java
Figura 9. Aba Segurança do Painel de Controle Java.

A opção Ativar conteúdo Java no browser permite que aplicações Java sejam executadas no navegador de Internet.

Outra opção de configuração disponível na aba Segurança é a definição do nível de segurança para aplicações que possuem certificados cujo status de revogação não pode ser verificado. Antes de tentar iniciar uma aplicação assinada, o Java validará o certificado associado a aplicação para garantir que ele não tenha sido revogado pela autoridade emissora. Este recurso foi introduzido no Java 7, release 25.

A opção Lista de exceções de sites permite que seja criada uma lista de exceções contendo endereços de sites que seriam bloqueados por algum motivo de segurança, mas que precisam ser liberados. Este recurso foi introduzido no Java 7 release 51 e pode ser ativado pelo botão Editar Lista de Sites. A Figura 10 mostra as opções para configuração da lista de exceções de sites.

Lista de Exceções de Sites
Figura 10. Lista de Exceções de Sites.

O botão Adicionar inclui endereços na lista de exceções. Exemplos de endereços seriam https://www.exemplo.com.br/dir1/ ou https://www.exemplo.com/app.html. O botão Remover remove um determinado item da lista de exceções.

A opção Restaurar Prompts de Segurança (Figura 9) restaura os prompts (janelas) de segurança ocultos pela ação do usuário. Determinadas aplicações apresentam um prompt com alguma mensagem de segurança e dispõem de uma opção (por exemplo a opção Não mostrar isso novamente) para que a mesma não seja mostrada quando a aplicação for executada futuramente. A ação de restaurar os prompts de segurança faz com que as janelas sejam exibidas novamente quando a aplicação for executada, dando a condição do usuário avaliar reavaliar os critérios de segurança. Por questões que segurança, é recomendado restaurar os prompts de segurança periodicamente.

A Figura 9 mostra ainda a opção Gerenciar Certificados (Figura 11). Esta opção permite que os certificados nível usuário e nível sistema utilizados para assinar Applets e Aplicações Java Web Start sejam gerenciados.

Os applets são programas Java especiais que não possuem uma classe principal, ou seja a classe com a função main, podendo serem executados apenas a partir de um navegador de Internet.

Aplicações Java Web Start são aplicações que ficam armazenadas e disponíveis num servidor de aplicações para serem instaladas quando acessadas por um navegador de Internet. A instalação ocorre devido ao JNLP (Java Network Launch Protocol) que é um protocolo que possibilita a instalação ou atualização da aplicação no computador do cliente apenas quando existe uma nova versão da aplicação.

Certificados
Figura 11. Certificados

Na Figura 11 constam opções para importar, exportar, remover e visualizar detalhes sobre um determinado certificado. O campo Tipo de certificado pode ser utilizado para filtrar os certificados pelo tipo, que pode ser Certificados Confiáveis, Local Seguro, CA de signatário, CA de local seguro e Autenticação de Cliente. O detalhamento o que é cada um desses tipos de certificados esta fora do escopo desse artigo.

Painel de Controle Java – Aba Avançado

A aba Avançado do Painel de Controle Java oferece diversas opções para configurações, tais como arquivos de log, console para depuração de aplicações Java que rodam na Internet, gerenciamento de instalação de aplicações Java, gerenciamento de certificados digitais e configurações diversas.

Cada uma das opções será abordada e detalhada individualmente abaixo.

Opção Ativar Rastreamento

A opção Ativar Rastreamento (Figura 12) redireciona todas as saídas de uma aplicação Java Applet ou Java Web Start que iriam para o console para um arquivo em disco.

Opção Ativar rastreamento da Aba Avançado
Figura 12. Opção Ativar rastreamento da Aba Avançado.

O rastreamento pode ser ativado pela configuração da propriedade deployment.trace para true e da propriedade deployment.trace.level com um dos seguintes valores: basic, cache, net, security, ext, liveconnect ou drs. Esta configuração é feita no campo Parêmetros de Runtime da aba Java conforme Figura 13.

 Configuração do rastreamento
Figura 13. Configuração do rastreamento.

Os arquivos gerados pelo rastreamento terão a seguinte nomenclatura:

  • plugin<número-randômico>.trace – Nome do arquivo para Java Plug-in.
  • javaws<número-randômico>.trace - Nome do arquivo para Java Web Start.
  • jcp.trace – nome do arquivo criado quando o Painel Controle Java é executado.

Opção Ativar log

Similar ao rastreamento, a opção Ativar log (Figura 14) redireciona todas as saídas que iriam para o Console do Java para um arquivo em disco usando a API Logging do Java.

Opção Ativar log da Aba Avançado
Figura 14. Opção Ativar log da Aba Avançado.

Os arquivos gerados pelo log terão a seguinte nomenclatura:

  • plugin<número-randômico>.log – Nome do arquivo de log para Java Plug-in.
  • javaws<número-randômico>.log – Nome do arquivo de log para Java Web Start.

Local dos arquivos de rastreamento e de log

O local onde os arquivos de rastreamento e de log serão gerados dependerá do sistema operacional utilizado.

No Linux será no diretório <user.home>/.java/deployment/log

No OS X sera no diretório ~/Library/Application Support/Oracle/Java/Deployment/log

No Windows sera no <User Application Data Folder>\Sun\Java\Deployment\log

Opção Console Java

O item Mostrar console (Figura 15) da opção Console Java quando selecionado mostra uma janela contendo informações e opções de depuração sobre o programa Java que esta sendo executado pelo navegador de Internet.

Opção Console Java da aba Avançado
Figura 15. Opção Console Java da aba Avançado.

Um exemplo de uma janela do Console Java pode ser visto na Figura 16 quando o endereço https://www.java.com/pt_BR/download/installed.jsp é acessado.

Janela do Console Java
Figura 16. Janela do Console Java.

Opção Java Padrão para browsers

A opção Java Padrão para browsers (Figura 17) é ignorada pelas versões recentes dos navegadores Internet Explorer e Firefox pelo fato deles encontrarem e utilizarem automaticamente a última versão instalada do JRE.

Opção Java Padrão para browsers
Figura 17. Opção Java Padrão para browsers.

Opção Criação de Atalho

A Figura 18 mostra a opção Criação de Atalho para definir como os atalhos serão criados no desktop para aplicações que utilizam a tecnologia Java Web Start. Ao acessar uma aplicação Java Web Start será criado um atalho no desktop para que tal aplicação possa ser executada futuramente.

 Opção Criação de Atalho da Aba Avançado
Figura 18. Opção Criação de Atalho da Aba Avançado.

Opção Associação de arquivo JNLP/MIME

A opção Associação de arquivo JNLP/MIME (Figura 19) permite que um arquivo seja associado ao tipo MIME JNLP ao ser acessado pelo navegador de Internet.

Opção Associação de arquivo JNLP/MIME da Ava Avançado
Figura 19. Opção Associação de arquivo JNLP/MIME da Ava Avançado.

Opção Instalação da Aplicação

A Figura 20 mostra as opções disponíveis para configurar como uma aplicação Java será instalada. Uma aplicação Java ou um Java Applet carregado com Java Web Start pode ser instalada ou armazenada no cache do computador cliente. Se a aplicação Java é cacheada, então Java Web Start armazena a entrada no cache; a aplicação é removida do computador cliente quando Java Web Start esvazia o cache. Se a aplicação é instalada, então a aplicação terá uma entrada no item Programas do Painel de Controle do Windows.

Opção Instalação da Aplicação da Aba Avançado
Figura 20. Opção Instalação da Aplicação da Aba Avançado.

Opção Ambiente de Execução Seguro

Os itens de configuração da seção Ambiente de Execução Seguro (Figura 21) estão relacionados a configurações referentes aos certificados digitais utilizados pelas aplicações Java. Um conhecimento detalhado sobre certificação digital é necessário para o uso correto dessas opções. Isso esta fora do escopo desse artigo.

Opção Ambiente de Execução Seguro
Figura 21. Opção Ambiente de Execução Seguro

Opção Verificação de segurança de código misto (sandboxed vs confiável)

Código misto ocorre quando uma aplicação Java Web Start ou um Applet foi desenvolvido com componentes assinados e componentes não assinados. Isto pode tornar o código inseguro do ponto de vista da segurança. A partir do Java 6, release 19, uma caixa de diálogo é exibida quando um código misto é encontrado. Para configurar o comportamento dessas aplicações, utilizar uma das opções da Figura 22.

Opção Verificação de segurança de código misto
Figura 22. Opção Verificação de segurança de código misto (sandboxed vs confiável)

Opções relacionadas a certificados digitais

A Figura 23 mostra todas as opções relacionadas aos certificados e assinaturas utilizados nos programas Java, sejam eles applets ou aplicações Java Web Start.

Opções para certificados digitais
Figura 23. Opções para certificados digitais

Um conhecimento detalhado sobre certificação digital é necessário para o uso correto dessas opções. Isso esta fora do escopo desse artigo.

Opção Definições de Segurança Avançadas

Os itens de configuração da opção Definições de Segurança Avançadas (Figura 24) dizem respeito aos certificados digitais e uma compreensão sobre o assunto é fundamental para o uso correto dessas opções de configurações. Esta fora do escopo desse artigo explicar certificação digital.

Opção Definições de Segurança Avançadas
Figura 24. Opção Definições de Segurança Avançadas

Opção Armazenar as definições do usuário no perfil de roaming

Perfil de roaming é o perfil criado pelo administrador do sistema para permitir que as configurações do usuário sejam recuperadas em qualquer computador que o mesmo venha a fazer logon. Se esta opção está selecionada, toda a configuração feita no Painel de Controle do Java irá acompanhar o usuário quando ele efetuar o logon em outros computadores. Ver Figura 25.

Opção  Diversos
Figura 25. Opção Diversos

Uma instalação e configuração correta do pacote Java JDK é o primeiro passo para o desenvolvimento de aplicações Java. Foi demonstrado como instalar o JDK nos sistemas operacionais Windows e Linux, como utilizar o Painel de Controle Java para configurar aspectos específicos da Linguagem Java. Uma contínua análise das opções e constante refinamento das configurações oferecidas pelo Painel de Controle Java é fundamental para que se tenha um ambiente seguro e robusto para a construção e execução de aplicações Java.


Links Úteis

Saiba mais sobre Java ;)

  • O Que é JPA?:
    Dominar a persistência de dados é uma necessidade indispensável aos programadores. Sem esse conhecimento nossas aplicações não terão a capacidade de armazenar e recuperar os dados por ela manipulados.
  • Preparando o ambiente para programar em Java:
    Neste curso você aprenderá a preparar seu ambiente para programar em Java. Veremos aqui o que é necessário instalar e como proceder para desenvolver aplicações com essa linguagem.
  • Criando meu primeiro projeto no Java:
    Neste curso você aprenderá a criar o seu primeiro programa com Java, e não, ele não será um simples “Hello, World!”. :) Para isso, vamos começar ensinando como instalar o Java e preparar o ambiente de desenvolvimento.

Saiu na DevMedia!

  • Programador Java:
    Aprender Java não é uma tarefa simples, mas seguindo a ordem proposta nesse Guia, você evitará muitas confusões e perdas de tempo no seu aprendizado. Vem aprender java de verdade, vem!

Saiba mais sobre Java ;)

  • Guia Completo de Java:
    Neste Guia de Referência você encontrará todo o conteúdo que precisa para começar a programar com a linguagem Java, a sua caixa de ferramentas base para criar aplicações com Java.