| // |
| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| // |
| |
| = Visão Geral do Suporte a JDK 8 no NetBeans IDE |
| :jbake-type: tutorial |
| :jbake-tags: tutorials |
| :jbake-status: published |
| :icons: font |
| :syntax: true |
| :source-highlighter: pygments |
| :toc: left |
| :toc-title: |
| :description: Visão Geral do Suporte a JDK 8 no NetBeans IDE - Apache NetBeans |
| :keywords: Apache NetBeans, Tutorials, Visão Geral do Suporte a JDK 8 no NetBeans IDE |
| |
| Escrito por Tomas Zezula e Alyona Stashkova |
| |
| |
| Neste tutorial, você aprenderá conceitos básicos sobre o JDK 8 no NetBeans IDE e como usar o suporte do IDE para as funcionalidades de Java SE 8 como perfis compactos, expressões lambda e anotações de repetição. |
| |
| *Conteúdo* |
| |
| image::images/netbeans-stamp-80-74.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.4 e 8.0 Beta"] |
| |
| |
| *Para concluir este tutorial, você precisa do software e dos recursos apresentados na tabela a seguir.* |
| |
| |=== |
| |Software ou Recurso |Versão Necessária |
| |
| |link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |versão 7.4 e 8.0 |
| |
| |link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+JDK (Java Development Kit)+] |versão 8 |
| |=== |
| |
| |
| == Ativando o Suporte do JDK 8 no NetBeans IDE |
| |
| Depois que o JDK 8 for submetido a download e instalado em seu sistema, ele precisa ser registrado no IDE como segue: |
| |
| 1. No IDE, selecione Ferramentas > Plataformas Java no menu principal. |
| 2. Clique em Adicionar Plataforma na caixa de diálogo Gerenciador de Plataforma Java. |
| 3. Na caixa de diálogo Adicionar Plataforma Java, selecione Edição Padrão Java e clique em Próximo. |
| 4. Especifique o diretório que contém o JDK e clique em Próximo. |
| |
| [.feature] |
| -- |
| image::images/jdk8_small.png[role="left", link="images/jdk8.png"] |
| -- |
| |
| |
| [start=5] |
| . Verifique se os locais default do arquivo zip Códigos-fonte da Plataforma e da documentação da API são válidos. Clique em Finalizar para fechar a caixa de diálogo Adicionar Plataforma Java. |
| O JDK 8 é registrado como uma plataforma no IDE. |
| |
| [.feature] |
| -- |
| image::images/jdk8registered_small.png[role="left", link="images/jdk8registered.png"] |
| -- |
| |
| |
| [start=6] |
| . Assegure-se de que o JDK 1.8 esteja selecionado na lista Plataformas e clique em Fechar. |
| |
| |
| == Configurando um Projeto para usar JDK 8 |
| |
| Depois de registrar o JDK 8 no IDE, seu projeto precisa ser configurado para usar o JDK 8 para compilar, executar e depurar. |
| |
| Começaremos criando um novo projeto Java SE com o exemplo do jogo de Anagramas que é enviado com o NetBeans IDE. |
| |
| 1. No IDE, escolha Arquivo > Novo Projeto. |
| 2. No assistente Novo Projeto, expanda a categoria Amostras e selecione Java. |
| 3. Escolha o Jogo de Anagramas na lista Projetos. Em seguida, clique em Próximo. |
| 4. No painel Nome e Local, deixe os valores default para os campos Nome do Projeto e Localização do Projeto. |
| 5. Clique em Finalizar. |
| O IDE cria e abre o projeto Java SE na janela Projetos. |
| |
| *Para configurar seu projeto, use o JDK 8:* |
| |
| 1. Clique com o botão direito do mouse no projeto Jogo de Anagramas na janela Projetos e selecione as Propriedades no menu de contexto. |
| 2. Na caixa de diálogo Propriedades do Projeto, escolha a categoria Bibliotecas e defina JDK 1.8 como a Plataforma Java. |
| |
| [.feature] |
| -- |
| image::images/prj_jdk8_small.png[role="left", link="images/prj_jdk8.png"] |
| -- |
| |
| |
| [start=3] |
| . Selecione a Categoria Código-fonte e defina o Formato de Código-origem/Binário para JDK 8. |
| |
| [.feature] |
| -- |
| image::images/prj_source_jdk8_small.png[role="left", link="images/prj_source_jdk8.png"] |
| -- |
| |
| |
| [start=4] |
| . Clique em OK para salvar as alterações. |
| Seu projeto está definido para reconhecer as novas funcionalidades de linguagem do JDK 8. |
| |
| |
| == Usando Suporte de Perfis Compacto |
| |
| O Java SE 8 apresenta os link:http://openjdk.java.net/jeps/161[+perfis do subconjunto da especificação da plataforma do Java SE+] que podem ser usados para implantar e executar aplicações que não exigem a plataforma completa. |
| |
| Os três perfis que foram definidos até agora são chamados _compact1_, _compact2_ e _compact3_. Cada perfil especifica um conjunto específico de pacotes de Java API e contém todas as APIs nos perfis menores que ele próprio: _compact1_ é um subconjunto de _compact2_, que é um subconjunto de _compact3_, que por sua vez é um subconjunto de _JRE completo_. A tabela abaixo lista os pacotes que são compostos em cada perfil. |
| |
| |=== |
| |Compact1 |Compact2 |Compact3 |JRE completo |
| |
| |* java.lang |
| * java.io |
| * java.nio |
| * java.text |
| * java.math |
| * java.net |
| * javax.net |
| * java.util |
| * java.util.logging |
| * java.security |
| * javax.crypto |
| * javax.security |
| |_compact1_ mais o seguinte: |
| |
| * java.sql |
| * javax.sql |
| * javax.xml |
| * org.w3c.dom |
| * org.xml.sax |
| * java.rmi |
| * javax.rmi |
| * javax.transaction |
| |_compact2_ mais o seguinte: |
| |
| * java.lang.management |
| * javax.management |
| * javax.naming |
| * javax.sql.rowset |
| * javax.security.auth.kerberos |
| * org.ietf.jgss |
| * javax.script |
| * javax.xml.crypto |
| * java.util.prefs |
| * javax.security.sasl |
| * javax.security.acl |
| * java.lang.instrument |
| * javax.annotation.processing |
| * javax.lang.model |
| * javax.lang.model.element |
| * javax.lang.model.type |
| * javax.lang.model.util |
| * javax.tools |
| |_compact3_ mais o seguinte: |
| |
| * corba |
| * awt |
| * swing |
| |
| |
| |=== |
| |
| O IDE permite que você alterne entre os perfis e o JRE completo, quando necessário. |
| |
| *Para definir um perfil do projeto para um Projeto Java SE:* |
| |
| 1. Clique com o botão direito do mouse e escolha Propriedades no menu de contexto. |
| 2. Na caixa de diálogo Propriedades do projeto, selecione a categoria Executar Códigos-fontes. |
| 3. Use a lista drop-down Perfil para especificar o perfil JDK 8 que sua aplicação suportará. |
| |
| [.feature] |
| -- |
| image::images/prj_src_profile_small.png[role="left", link="images/prj_src_profile.png"] |
| -- |
| |
| |
| [start=4] |
| . Clique em OK. |
| |
| Para verificar como o IDE verifica se as classes usadas em seu projeto pertencem ao perfil especificado, selecione Compact1 como perfil para o projeto Jogo de Anagramas e clique em OK. |
| O IDE exibe os erros para notificar que o projeto Jogo de Anagramas não é compatível com o projeto _compact1_. |
| |
| [.feature] |
| -- |
| image::images/profile_small.png[role="left", link="images/profile.png"] |
| -- |
| |
| Você pode voltar e definir o perfil do projeto Jogo de Anagramas para JRE Completo que é suportado pela aplicação Anagramas. |
| |
| |
| == Usando Suporte de Expressões Lambda |
| |
| link:http://openjdk.java.net/projects/lambda/[+Expressões de Lambda+] trata o volume de classes internas anônimas, expressando funcionalidade de classes internas anônimas de forma mais compacta. |
| |
| A sintaxe geral de uma expressão lambda consiste em um conjunto de parâmetros, um token de seta e um corpo de função (uma expressão simples ou um bloco de instrução): |
| |
| |
| [source,java] |
| ---- |
| |
| (int a, int b) -> a * a + b * b; |
| ---- |
| |
| O NetBeans IDE detecta expressões pré-lamba e exibe as dicas no Editor propondo ativar tais construções nas expressões lambda. |
| |
| Por exemplo, o projeto Jogo de Anagramas caracteriza uma construção pré-lamda no arquivo ``Anagrams.java`` , conforme a tela abaixo. |
| |
| [.feature] |
| -- |
| image::images/lambda_small.png[role="left", link="images/lambda.png"] |
| -- |
| |
| Depois que você clicar na lâmpada na margem ou pressionar Alt-Enter, o IDE mostra a dica Usar Lambda com um conjunto de opções disponíveis: |
| |
| [.feature] |
| -- |
| image::images/lambda_clicked_small.png[role="left", link="images/lambda_clicked.png"] |
| -- |
| |
| Se a dica Usar Lambda estiver selecionada, o IDE converterá a classe interna anônima em uma expressão lambda. |
| |
| [.feature] |
| -- |
| image::images/lambda_converted_small.png[role="left", link="images/lambda_converted.png"] |
| -- |
| |
| Se você escolher a opção Executar Inspeção em, o IDE exibirá a caixa de diálogo Inspecionar que permite executar uma Conversão única para inspeção de Lambda no arquivo especificado. |
| |
| *Observação:* para obter mais informações sobre como iniciar a operação Inspecionar no IDE, consulte link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG613[+Usando Dicas na Análise do Código-Fonte e Refatorando+] em _Desenvolvendo Aplicações com o NetBeans IDE_. |
| |
| [.feature] |
| -- |
| image::images/inspect_small.png[role="left", link="images/inspect.png"] |
| -- |
| |
| Após pressionar o botão Inspecionar para acionar a inspeção, o IDE identifica todas as construções pré-lamba do arquivo e as exibe na janela Inspetor. |
| |
| [.feature] |
| -- |
| image::images/lambda_inspection_small.png[role="left", link="images/lambda_inspection.png"] |
| -- |
| |
| Se você escolher a opção Executar Transformação da Inspeção, o IDE exibirá a caixa de diálogo Inspecionar e Transformar que permite executar uma inspeção Converter para Lambda única (ou uma configuração selecionada) no código especificado e refatorá-la, se necessário. |
| |
| *Observação:* para obter mais informações sobre a operação Inspecionar e Transformar, consulte link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG613[+Usando Dicas na Análise do Código-Fonte e Refatorando+] em _Desenvolvendo Aplicações com o NetBeans IDE_. |
| |
| [.feature] |
| -- |
| image::images/lambda_transform_small.png[role="left", link="images/lambda_transform.png"] |
| -- |
| |
| |
| == Usando Suporte de Anotações de Repetição |
| |
| As funcionalidades do Java SE 8 incluem link:http://openjdk.java.net/jeps/120[+anotações de repetição+] que permitem que você aplique anotações com o mesmo tipo para um elemento do programa único, conforme mostrado no seguinte exemplo do código: |
| |
| |
| [source,java] |
| ---- |
| |
| @ProjectServiceProvider(service=Foo.class,"org-nebeans-modules-j2seproject") |
| @ProjectServiceProvider(service=Foo.class,"org-nebeans-modules-j2eeproject") |
| public class MyService extends Foo {} |
| |
| ---- |
| |
| O suporte do NetBeans IDE para anotações de repetição permite que você grave o código com as mesmas anotações fornecidas e tipos da anotação incluída que são declarados: |
| |
| * um tipo de anotação repetida deve ser marcada com ``@Repeatable ()`` ; caso contrário, você tem um erro na compilação |
| * um tipo de anotação incluído deve ter um elemento ``value`` com um tipo de array; o tipo de componente do tipo de array deve ser um tipo de anotação repetida |
| link:/about/contact_form.html?to=3&subject=Feedback:%20Overview%20of%20JDK%208%20Support%20in%20NetBeans%20IDE[+Enviar Feedback neste Tutorial+] |
| |
| |
| |
| == Consulte Também |
| |
| Para obter mais informações sobre JDK 8, consulte: |
| |
| * link:http://jdk8.java.net/[+Projeto JDK 8+] |
| * link:http://download.java.net/jdk8/docs/[+Documentação de Acesso Antecipado do Java Platform Standard Edition 8+] |
| * link:http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/Lambda-QuickStart/index.html[+Java SE 8: Início Rápido do Lambda +] |
| * link:http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html[+Os Tutoriais do Java: Expressões Lambda+] |
| * link:http://docs.oracle.com/javase/tutorial/java/annotations/repeating.html[+Os Tutoriais do Java: Anotações de Repetição+] |
| |
| Para obter mais informações sobre o desenvolvimento de aplicações Java no NetBeans IDE, veja: |
| |
| * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG366[+Criando Projetos Java+] em _Desenvolvendo Aplicações com o NetBeans IDE_ |
| * link:javase-intro.html[+Desenvolvendo Aplicações Java Gerais+] |
| * link:../../trails/java-se.html[+Trilha de Aprendizado do Desenvolvimento Geral em Java+] |