blob: 72b3f3e2baefe95e342cbd39ecbace8b905248b8 [file] [log] [blame]
//
// 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.
//
= Encapsulamento Nativo no NetBeans IDE
:jbake-type: tutorial
:jbake-tags: tutorials
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Encapsulamento Nativo no NetBeans IDE - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Encapsulamento Nativo no NetBeans IDE
Escrito por Petr Somol e Alyona Stashkova
O encapsulamento nativo foi apresentado pela primeira vez como parte do JavaFX 2.2 SDK, permitindo que você encapsule uma aplicação como um _encapsulamento nativo_ e, em seguida, instale e execute a aplicação sem nenhuma dependência em um sistema JRE ou JavaFX SDK. Em seguida, ele se tornará utilizável também para projetos Java SE.
O encapsulamento nativo não altera o modelo de implantação de sua aplicação: ele usa a aplicação como está, encapsula com runtime de Java e produz um instalador que é comum para o sistema operacional que você está usando. O ponto principal é criar uma única ação não importando o runtime de Java que os usuários têm na máquina-alvo. Você pode usar um instalador e executá-lo em uma máquina na qual não há rastreamento de Java. Isso instalará a aplicação e os bits de runtime Java necessários. O tamanho desses instaladores é bem grande porque mesmo uma aplicação "Hello world" transportará uma parte grande de artefatos de runtime Java.
Neste tutorial, você criará um instalador ``EXE`` de uma aplicação Java SE e um instalador ``MSI`` para uma aplicação JavaFX para o sistema operacional Windows, com base nas aplicações de amostra encapsuladas com o IDE.
*Observação:*
* Os instaladores ``EXE`` e ``MSI`` que você obtém são específicos da plataforma; eles só serão executados em um sistema compatível com a plataforma Java de destino cujos pacotes ``EXE`` / ``MSI`` instaláveis foram criados. (Por exemplo, se um instalador ``EXE`` ou ``MSI`` foi criado em uma máquina com um JDK de 64 bits instalado, ele deverá ser executado em uma máquina com Windows de 64 bits instalado).
* No Windows, ambas as aplicações são instaladas no diretório ``C:\Users\<username>\AppData\Local\`` e estão disponíveis no menu Iniciar.
image::images/netbeans-stamp-80-74.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.4 ou 8.0"]
*Para seguir este tutorial, são necessários os recursos e o software a seguir.*
|===
|Software ou Recurso |Versão Necessária
|link:http://netbeans.org/downloads/index.html[+NetBeans IDE+] |7.4 ou 8.0
|link:http://www.oracle.com/technetwork/java/javafx/downloads/index.html[+JDK (Java Development Kit)+] |7 atualização 25 (ou mais recente) ou 8
|link:http://www.jrsoftware.org/[+Inno Setup+] |5.5 ou versão mais recente
|link:http://wixtoolset.org/[+WiX+] |3.7 ou versão mais recente
|===
== Instalando e Adicionando as Ferramentas Necessárias ao Caminho
Para usar o suporte do IDE para encapsulamento nativo, as seguintes ferramentas adicionais precisam ser instaladas:
* O link:http://www.jrsoftware.org/[+Inno Setup 5.5+] (ou uma versão mais recente) para produzir instaladores EXE no Windows é obrigatório.
* O link:http://wixtoolset.org/[+WiX 3.7+] (ou uma versão mais recente) para produzir instaladores MSI no Windows é obrigatório.
*Observação:* para obter uma lista de ferramentas obrigatórias para criar instaladores para diferentes plataformas, consulte "link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG2508[+Encapsulando uma Aplicação como um Instalador Nativo+]" em _Desenvolvendo Aplicações com o NetBeans IDE_.
*Para instalar o Inno Setup:*
1. Faça Download do ``ispack-5.5.3.exe`` na página link:http://www.jrsoftware.org/isdl.php[+Downloads do Inno Setup+]
2. Clique duas vezes no arquivo para iniciar o instalador.
3. Aceite o contrato de licença do Inno Setup e clique em Próximo.
4. Siga as instruções do assistente de instalação para instalar o Inno Setup.
*Para instalar o WiX:*
1. Faça download do ``wix37.exe`` na página link:http://wix.codeplex.com/releases/view/99514[+WiX Toolset - Download+].
2. Clique duas vezes no arquivo para iniciar o instalador.
3. Siga as instruções do assistente de instalação para instalar o WiX.
*Para adicionar o Inno Setup e/ou WiX à variável Path do sistema:*
1. No Windows 7, selecione Iniciar > Computador > Propriedades do Sistema > Configurações avançadas do sistema.
2. Selecione a guia Avançado e clique no botão Variáveis de Ambiente.
3. No painel Variáveis do Sistema, clique duas vezes na variável Path.
4. Na caixa de diálogo Editar Variável do Sistema, adicione um ponto-e-vírgula seguido de um novo caminho ao campo Valor da variável (por exemplo, ``C:\Arquivos de Programa (x86)\Inno Setup 5 `` ou ``C:\Arquivos de Programa (x86)\WiX Toolset v3.6\bin`` ).
5. Clique em OK para fechar todas as caixas de diálogo abertas.
*Observações:*
* Para verificar se a ferramenta instalada está no Path, abra a janela Prompt de Comando e digite ``iscc.exe`` para Inno Setup ou ``candle.exe`` para WiX. (Se o Prompt de Comando for fechado instantaneamente, tente especificar ``cmd.exe /c cmd.exe /k iscc.exe`` ou ``cmd.exe /c cmd.exe /k candle.exe`` respectivamente.)
A figura a seguir mostra o que o Prompt de Comando deve exibir, caso o Inno Setup seja adicionado à variável Path do sistema.
[.feature]
--
image::images/cmd_small.png[role="left", link="images/cmd.png"]
--
* Certifique-se de que o IDE tenha sido reiniciado após as ferramentas serem adicionadas à variável Path do sistema.
== Encapsulamento Nativo nos Projetos Java SE
Para utilizar o suporte de encapsulamento nativo no IDE, é necessário concluir o seguinte:
* <<createse,criar um projeto IDE>>
* <<enable,ativar as ações de encapsulamento nativo no projeto>>
* <<buildse,limpar e construir o projeto>>
* <<instse,encapsular uma aplicação em um instalador>>
=== Configurando um Projeto Java SE
Antes de encapsular uma aplicação em um instalador, é necessário criar uma aplicação.
Você criará um novo projeto Java SE com o exemplo do jogo de Anagramas que é enviado com o NetBeans IDE.
*Para criar um projeto do 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.
[.feature]
--
image::images/new_javase_prj_small.png[role="left", link="images/new_javase_prj.png"]
--
. No painel Nome e Local, deixe os valores default para os campos Nome do Projeto e Localização do Projeto.
. Clique em Finalizar.
O IDE cria e abre o projeto Java SE.
Para testar se o projeto criado funciona, execute-o escolhendo Executar > Executar Projeto no menu principal.
A aplicação Anagramas deve ser iniciada e exibida em sua máquina.
image::images/anagrams.png[]
=== Ativando Encapsulamento Nativo no IDE
As ações do encapsulamento nativo são desativadas no IDE, por default.
Clique com o botão direito do mouse no projeto AnagramGame na janela Projetos, para verificar as ações disponíveis para o projeto Java SE criado no IDE: não há ações relacionadas ao pacote no menu de contexto do projeto.
image::images/context_wo_pkg.png[]
*Para ativar as ações de encapsulamento nativo do projeto:*
1. Clique com o botão direito do mouse no nó do projeto na janela Projetos e selecione as Propriedades no menu de contexto.
2. Na caixa de diálogo Propriedades do Projeto, escolha a categoria Implantação e selecione Ativar Ações de Encapsulamento Nativo na opção Menu do Projeto.
[.feature]
--
image::images/enable_native_pkg_small.png[role="left", link="images/enable_native_pkg.png"]
--
. Clique em OK.
Um comando Encapsular como é adicionado ao menu de contexto do projeto.
image::images/pkg_enabled.png[]
=== Construindo uma Aplicação
É hora de limpar e construir sua aplicação para implantação.
*Para limpar e construir seu projeto:*
* Escolha Executar > Limpar e Construir Projeto do menu principal.
O IDE exibe os resultados na janela de Saída.
[.feature]
--
image::images/output_small.png[role="left", link="images/output.png"]
--
Uma pasta ``dist`` que contém um arquivo ``jar`` é criada na pasta do projeto.
=== Criando um Instalador ``EXE``
A aplicação agora pode ser encapsulada em um instalador para Windows.
*Para construir um instalador ``EXE`` :*
* Clique com o botão direito do mouse no projeto AnagramGame e escolha Encapsular como > Instalador EXE do menu de contexto.
*Observação:* o IDE só criará um instalador ``EXE`` se o Inno Setup for <<tool,instalado e adicionado à variável Path do sistema>>.
O IDE exibe o andamento e o resultado do processo de encapsulamento na janela de Saída.
[.feature]
--
image::images/output_se_exe_small.png[role="left", link="images/output_se_exe.png"]
--
*Observação:* o IDE primeiro registra o progresso e, em seguida, durante um período verifica como se nada estivesse acontecendo - é exatamente neste momento em que o Inno Setup está trabalhando em segundo plano. Demora um pouco para o encapsulamento ser concluído.
Quando o instalador ``EXE`` estiver pronto, ele será colocado no diretório ``AnagramGame/dist/bundles/`` .
image::images/anagram_exe.png[]
== Encapsulamento de Aplicação Autocontida nos Projetos JavaFX
Para criar uma aplicação JavaFX instalável usando o suporte ao encapsulamento nativo no IDE, é necessário concluir o seguinte:
* <<createfx,criar um projeto JavaFX no IDE>>
* <<enablefx,ativar o suporte ao encapsulamento nativo para o projeto>>
* <<buildfx,limpar e construir uma aplicação JavaFX>>
* <<instfx,construir uma aplicação JavaFX instalável>>
=== Criando um Projeto JavaFX
Você começa a criação de um projeto JavaFX usando o projeto de amostra BrickBreaker encapsulado com o IDE.
*Para criar um projeto JavaFX no IDE:*
1. No IDE, escolha Arquivo > Novo Projeto.
2. No assistente Novo Projeto, expanda a categoria Amostras e selecione JavaFX.
3. Escolha BrickBreaker 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, Localização do Projeto e Plataforma JavaFX.
[.feature]
--
image::images/new_javafx_prj_small.png[role="left", link="images/new_javafx_prj.png"]
--
. Clique em Finalizar.
O projeto JavaFX do BrickBreaker é exibido na janela Projetos no IDE.
Para testar se o projeto criado funciona, execute-o escolhendo Executar > Executar Projeto (BrickBreaker) no menu principal.
A aplicação Brick Breaker deve ser iniciada e exibida em sua máquina.
[.feature]
--
image::images/brickbreaker_small.png[role="left", link="images/brickbreaker.png"]
--
=== Ativando Encapsulamento Nativo no Projeto
Para usar o suporte ao encapsulamento nativo no IDE para seu projeto, é necessário ativá-lo primeiro.
Se clicar com o botão direito no mouse no projeto Brick Breaker, você não verá nele ações relacionadas a encapsulamento nativo.
image::images/javafx_wo_pkg.png[]
*Para ativar as ações de encapsulamento nativo no menu de contexto do projeto:*
1. Clique com o botão direito do mouse no nó do projeto na janela Projetos e selecione as Propriedades no menu de contexto.
2. Na caixa de diálogo Propriedades do Projeto, escolha a categoria Construir e selecione a opção Ativar Encapsulamento Nativo.
[.feature]
--
image::images/enable_native_pkg_fx_small.png[role="left", link="images/enable_native_pkg_fx.png"]
--
. Clique em OK.
A opção Encapsular como item é adicionada ao menu de contexto do projeto.
image::images/pkg_fx_enabled.png[]
=== Construindo uma Aplicação
Sua aplicação JavaFX agora está pronta para ser limpa e construída.
*Para limpar e construir seu projeto:*
* Escolha Executar > Limpar e Construir Projeto do menu principal.
O IDE exibe os resultados na janela de Saída.
*Observação:* se a construção for bem-sucedida, mas o IDE exibir ``advertência: [opções] caminho de classe de bootstrap não definido com -código-fonte 1.6`` na janela de Saída, o formato de Código-fonte/Binário precisará ser definido como JDK 8 nas propriedades do projeto e o projeto precisa ser limpo e construído novamente, como segue:
1. Clique com o botão direito do mouse no projeto BrickBreaker na janela Projetos e escolha Propriedades.
2. Na caixa de diálogo Propriedades do projeto, selecione a categoria Executar Códigos-fontes.
3. Defina o formato Código-fonte/Binário para JDK 8 e clique em OK.
4. Clique com o botão direito do mose na janela Projetos e escolha Limpar e Construir no menu de contexto.
=== Criando um Instalador ``MSI``
A aplicação agora pode ser encapsulada em um pacote instalável específico do Windows.
*Para construir um instalador ``MSI`` :*
* Clique com o botão direito do mouse no projeto BrickBreaker e escolha Encapsular como > Instalador MSI do menu de contexto.
*Observação:* o IDE cria um instalador ``MSI`` somente se WiX for <<tool,instalada e adicionada à variável Path do sistema>>.
O IDE exibe o andamento e o resultado do processo de encapsulamento na janela de Saída.
[.feature]
--
image::images/output_fx_msi_small.png[role="left", link="images/output_fx_msi.png"]
--
*Observação:* o IDE primeiro registra o progresso e, em seguida, durante um período verifica como se nada estivesse acontecendo - é exatamente neste momento em que a WiX está trabalhando em segundo plano. Demora um pouco para o encapsulamento ser concluído.
A aplicação JavaFX instalável está localizada no diretório ``BrickBreaker/dist/bundles/`` .
image::images/brickbreaker_msi.png[]
== [[Verificando as Aplicações Instaláveis]]
Quando os instaladores de ``AnagramGame-1.0.exe`` e ``BrickBreaker-1.0.msi`` forem concluídos, você precisará em qual diretório as aplicações Anagram e BrickBreaker foram instaladas.
*Para verificar os instaladores:*
1. Procure o arquivo do instalador ( ``AnagramGame-1.0.exe`` ou ``BrickBreaker-1.0.msi`` ) em seu disco rígido.
2. Clique duas vezes para executar o instalador.
As duas aplicações devem ser instaladas no diretório ``C:\Users\<username>\AppData\Local\`` e devem estar disponíveis no menu Iniciar.
== Consulte Também
* link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG2508[+Encapsulando uma Aplicação como um Instalador Nativo+] em _Desenvolvendo Aplicações com o NetBeans IDE_
* link:http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm[+Implantando Aplicações JavaFX: Encapsulamento da Aplicação Autocontida+]
* link:http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html[+Encapsulando uma Aplicação Java para Distribuição em uma Máquina+]
link:/about/contact_form.html?to=3&subject=Feedback:%20Native%20Packaging%20In%20NetBeans%20IDE[+Enviar Feedback neste Tutorial+]
link:../../trails/matisse.html[+Voltar à Trilha do Aprendizado+]