blob: f9ce1be893dbf787add463a7e7f2e2ec7d0417b9 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-->
<html>
<head>
<title>Encapsulamento Nativo no NetBeans IDE</title>
<meta name="KEYWORDS" content="NETBEANS, NATIVE PACKAGING, JAVAFX, JAVA SE">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="DESCRIPTION" content="Native Packaging in NetBeans IDE" >
<link rel="stylesheet" type="text/css" href="../../../netbeans.css" media="screen"></head>
<body>
<h1>Encapsulamento Nativo no NetBeans IDE</h1>
<div class="articledate" style="margin-left: 0px;">Escrito por Petr Somol e Alyona Stashkova</div>
<p>O encapsulamento nativo foi apresentado pela primeira vez como parte do JavaFX 2.2 SDK, permitindo que você encapsule uma aplicação como um <i>encapsulamento nativo</i> 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.</p>
<p> 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.</p>
<p>Neste tutorial, você criará um instalador <tt>EXE</tt> de uma aplicação Java SE e um instalador <tt>MSI</tt> para uma aplicação JavaFX para o sistema operacional Windows, com base nas aplicações de amostra encapsuladas com o IDE.</p>
<p class="notes"><b>Observação:</b> </p>
<ul><li>Os instaladores <tt>EXE</tt> e <tt>MSI</tt> 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 <tt>EXE</tt>/<tt>MSI</tt> instaláveis foram criados. (Por exemplo, se um instalador <tt>EXE</tt> ou <tt>MSI</tt> 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).</li>
<li>No Windows, ambas as aplicações são instaladas no diretório <tt>C:\Users\&lt;username>\AppData\Local\</tt> e estão disponíveis no menu Iniciar. </li></ul>
<p><b>Conteúdo</b></p>
<p><img alt="O conteúdo desta página se aplica ao NetBeans IDE 7.4 ou 8.0" class="stamp" src="../../../images_www/articles/74/netbeans-stamp-80-74.png" title="O conteúdo desta página se aplica ao NetBeans IDE 7.4 ou 8.0"></p>
<ul>
<li><a href="#tool">Instalando e Adicionando as Ferramentas Necessárias ao Caminho</a></li>
<li><a href="#se">Encapsulamento Nativo nos Projetos Java SE</a>
<ul>
<li><a href="#createse">Configurando um Projeto Java SE</a></li>
<li><a href="#enable">Ativando o Encapsulamento Nativo para o Projeto</a></li>
<li><a href="#buildse">Construindo uma Aplicação</a></li>
<li><a href="#instse">Criando um Instalador EXE</a></li>
</ul>
</li>
<li><a href="#fx">Encapsulamento de Aplicação Autocontida nos Projetos JavaFX</a>
<ul>
<li><a href="#createfx">Criando um Projeto JavaFX</a></li>
<li><a href="#enablefx">Ativando o Encapsulamento Nativo para o Projeto</a></li>
<li><a href="#buildfx">Construindo uma Aplicação</a></li>
<li><a href="#instfx">Criando um Instalador MSI</a></li>
</ul>
</li>
<li><a href="#check">Verificando as Aplicações Instaláveis</a></li>
<li><a href="#see">Consulte Também</a></li>
</ul>
<p><b>Para seguir este tutorial, são necessários os recursos e o software a seguir.</b></p>
<table>
<tbody>
<tr>
<th width="208" class="tblheader" scope="col">Software ou Recurso</th>
<th width="218" class="tblheader" scope="col">Versão Necessária</th>
</tr>
<tr>
<td class="tbltd1"><a href="http://netbeans.org/downloads/index.html" target="_blank">NetBeans IDE</a></td>
<td class="tbltd1">7.4 ou 8.0 </td>
</tr>
<tr>
<td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javafx/downloads/index.html" target="_blank">JDK (Java Development Kit)</a></td>
<td class="tbltd1">7 atualização 25 (ou mais recente) ou 8 </td>
</tr>
<tr>
<td class="tbltd1"><a href="http://www.jrsoftware.org/" target="_blank">Inno Setup</a></td>
<td class="tbltd1">5.5 ou versão mais recente </td>
</tr>
<tr>
<td class="tbltd1"><a href="http://wixtoolset.org/" target="_blank">WiX</a></td>
<td class="tbltd1">3.7 ou versão mais recente </td>
</tr>
</tbody>
</table>
<div class="indent">
<h2><a name="tool"></a>Instalando e Adicionando as Ferramentas Necessárias ao Caminho </h2>
<p>Para usar o suporte do IDE para encapsulamento nativo, as seguintes ferramentas adicionais precisam ser instaladas:</p>
<ul>
<li>O <a href="http://www.jrsoftware.org/" target="_blank">Inno Setup 5.5</a> (ou uma versão mais recente) para produzir instaladores EXE no Windows é obrigatório.</li>
<li>O <a href="http://wixtoolset.org/">WiX 3.7</a> (ou uma versão mais recente) para produzir instaladores MSI no Windows é obrigatório.</li>
</ul>
<p class="notes"><b>Observação:</b> para obter uma lista de ferramentas obrigatórias para criar instaladores para diferentes plataformas, consulte "<a href="http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG2508">Encapsulando uma Aplicação como um Instalador Nativo</a>" em <i>Desenvolvendo Aplicações com o NetBeans IDE</i>.</p>
<p><b>Para instalar o Inno Setup:</b></p>
<ol>
<li>Faça Download do <tt>ispack-5.5.3.exe</tt> na página <a href="http://www.jrsoftware.org/isdl.php" target="_blank">Downloads do Inno Setup</a></li>
<li>Clique duas vezes no arquivo para iniciar o instalador.</li>
<li>Aceite o contrato de licença do Inno Setup e clique em Próximo. </li>
<li>Siga as instruções do assistente de instalação para instalar o Inno Setup. </li>
</ol>
<p><b>Para instalar o WiX:</b></p>
<ol>
<li>Faça download do <tt>wix37.exe</tt> na página <a href="http://wix.codeplex.com/releases/view/99514" target="_blank">WiX Toolset - Download</a>.</li>
<li>Clique duas vezes no arquivo para iniciar o instalador.</li>
<li>Siga as instruções do assistente de instalação para instalar o WiX. </li>
</ol>
<p><b>Para adicionar o Inno Setup e/ou WiX à variável Path do sistema:</b></p>
<ol>
<li>No Windows 7, selecione Iniciar > Computador > Propriedades do Sistema > Configurações avançadas do sistema.</li>
<li>Selecione a guia Avançado e clique no botão Variáveis de Ambiente.</li>
<li>No painel Variáveis do Sistema, clique duas vezes na variável Path.</li>
<li>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, <tt>C:\Arquivos de Programa (x86)\Inno Setup 5 </tt> ou <tt>C:\Arquivos de Programa (x86)\WiX Toolset v3.6\bin</tt>). </li>
<li>Clique em OK para fechar todas as caixas de diálogo abertas.</li>
</ol>
<p class="notes"><strong>Observações:</strong> </p>
<ul>
<li>Para verificar se a ferramenta instalada está no Path, abra a janela Prompt de Comando e digite <tt>iscc.exe</tt> para Inno Setup ou <tt>candle.exe</tt> para WiX. (Se o Prompt de Comando for fechado instantaneamente, tente especificar <tt>cmd.exe /c cmd.exe /k iscc.exe</tt> ou <tt>cmd.exe /c cmd.exe /k candle.exe</tt> respectivamente.)<br> A figura a seguir mostra o que o Prompt de Comando deve exibir, caso o Inno Setup seja adicionado à variável Path do sistema.
<p class="align-center">
<a href="../../../images_www/articles/74/java/native_pkg/cmd.png" rel="lytebox" title="Prompt de Comando"> <img alt="Prompt de Comando" src="../../../images_www/articles/74/java/native_pkg/cmd_small.png"></a></p></li>
<li>Certifique-se de que o IDE tenha sido reiniciado após as ferramentas serem adicionadas à variável Path do sistema.</li>
</ul>
</div>
<h2><a name="se"></a>Encapsulamento Nativo nos Projetos Java SE</h2>
<p>Para utilizar o suporte de encapsulamento nativo no IDE, é necessário concluir o seguinte: </p>
<ul>
<li><a href="#createse">criar um projeto IDE</a> </li>
<li><a href="#enable">ativar as ações de encapsulamento nativo no projeto</a> </li>
<li><a href="#buildse">limpar e construir o projeto</a> </li>
<li><a href="#instse">encapsular uma aplicação em um instalador</a> </li>
</ul>
<div class="indent">
<h3><a name="createse"></a>Configurando um Projeto Java SE</h3>
<p>Antes de encapsular uma aplicação em um instalador, é necessário criar uma aplicação.</p>
<p> Você criará um novo projeto Java SE com o exemplo do jogo de Anagramas que é enviado com o NetBeans IDE.</p>
<p><b>Para criar um projeto do IDE:</b></p>
<ol>
<li>No IDE, escolha Arquivo > Novo Projeto.</li>
<li>No assistente Novo Projeto, expanda a categoria Amostras e selecione Java.</li>
<li>Escolha o Jogo de Anagramas na lista Projetos. Em seguida, clique em Próximo.
<p class="align-center">
<a href="../../../images_www/articles/74/java/native_pkg/new_javase_prj.png" rel="lytebox" title="Criando um projeto Java SE"> <img alt="Criando um projeto Java SE" src="../../../images_www/articles/74/java/native_pkg/new_javase_prj_small.png"></a></p></li>
<li>No painel Nome e Local, deixe os valores default para os campos Nome do Projeto e Localização do Projeto. </li>
<li>Clique em Finalizar.<br> O IDE cria e abre o projeto Java SE.</li>
</ol>
<p>Para testar se o projeto criado funciona, execute-o escolhendo Executar > Executar Projeto no menu principal.<br> A aplicação Anagramas deve ser iniciada e exibida em sua máquina.</p>
<p class="align-center">
<img alt="Aplicação Anagramas em execução" src="../../../images_www/articles/74/java/native_pkg/anagrams.png"></p>
<h3><a name="enable"></a>Ativando Encapsulamento Nativo no IDE</h3>
<p>As ações do encapsulamento nativo são desativadas no IDE, por default.</p>
<p>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.</p>
<p class="align-center">
<img alt="Menu de contexto sem ações Encapsular como" src="../../../images_www/articles/74/java/native_pkg/context_wo_pkg.png"></p>
<p><b>Para ativar as ações de encapsulamento nativo do projeto:</b></p>
<ol>
<li>Clique com o botão direito do mouse no nó do projeto na janela Projetos e selecione as Propriedades no menu de contexto.</li>
<li>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.
<p class="align-center">
<a href="../../../images_www/articles/74/java/native_pkg/enable_native_pkg.png" rel="lytebox" title="Ativar Encapsulamento Nativo selecionada"> <img alt="Ativar Encapsulamento Nativo selecionada" src="../../../images_www/articles/74/java/native_pkg/enable_native_pkg_small.png"></a></p></li>
<li>Clique em OK. <br>Um comando Encapsular como é adicionado ao menu de contexto do projeto.
<p class="align-center">
<img alt="Ações Encapsular como ativadas no menu de contexto" src="../../../images_www/articles/74/java/native_pkg/pkg_enabled.png"></p> </li>
</ol>
<h3><a name="buildse"></a>Construindo uma Aplicação </h3>
<p>É hora de limpar e construir sua aplicação para implantação.</p>
<p><b>Para limpar e construir seu projeto:</b></p>
<ul>
<li>Escolha Executar > Limpar e Construir Projeto do menu principal.<br>O IDE exibe os resultados na janela de Saída.
<p class="align-center">
<a href="../../../images_www/articles/74/java/native_pkg/output.png" rel="lytebox" title="Janela de Saída"> <img alt="Janela de Saída" src="../../../images_www/articles/74/java/native_pkg/output_small.png"></a></p></li></ul>
<p>Uma pasta <tt>dist</tt> que contém um arquivo <tt>jar</tt> é criada na pasta do projeto.</p>
<h3><a name="instse"></a>Criando um Instalador <tt>EXE</tt></h3>
<p>A aplicação agora pode ser encapsulada em um instalador para Windows. </p>
<p><b>Para construir um instalador <tt>EXE</tt>:</b></p>
<ul>
<li>Clique com o botão direito do mouse no projeto AnagramGame e escolha Encapsular como > Instalador EXE do menu de contexto. </li>
</ul>
<p class="notes"><b>Observação:</b> o IDE só criará um instalador <tt>EXE</tt> se o Inno Setup for <a href="#tool">instalado e adicionado à variável Path do sistema</a>.</p>
<p>O IDE exibe o andamento e o resultado do processo de encapsulamento na janela de Saída.</p>
<p class="align-center"><a href="../../../images_www/articles/74/java/native_pkg/output_se_exe.png" rel="lytebox" title="A janela de saída exibe o andamento da construção de um instalador do EXE"> <img alt="A janela de saída exibe o andamento da construção de um instalador do EXE" src="../../../images_www/articles/74/java/native_pkg/output_se_exe_small.png"></a></p>
<p class="notes"><b>Observação:</b> 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.</p>
<p>Quando o instalador <tt>EXE</tt> estiver pronto, ele será colocado no diretório <tt>AnagramGame/dist/bundles/</tt>. </p>
<p class="align-center"><img alt="A janela de saída exibe o andamento da construção de um instalador do EXE" src="../../../images_www/articles/74/java/native_pkg/anagram_exe.png"></p>
</div>
<h2><a name="fx"></a>Encapsulamento de Aplicação Autocontida nos Projetos JavaFX</h2>
<div class="indent">
<p>Para criar uma aplicação JavaFX instalável usando o suporte ao encapsulamento nativo no IDE, é necessário concluir o seguinte: </p>
<ul>
<li><a href="#createfx">criar um projeto JavaFX no IDE</a></li>
<li><a href="#enablefx">ativar o suporte ao encapsulamento nativo para o projeto</a></li>
<li><a href="#buildfx">limpar e construir uma aplicação JavaFX</a></li>
<li><a href="#instfx">construir uma aplicação JavaFX instalável</a></li>
</ul>
<h3><a name="createfx"></a>Criando um Projeto JavaFX</h3>
<p>Você começa a criação de um projeto JavaFX usando o projeto de amostra BrickBreaker encapsulado com o IDE. </p>
<p><b>Para criar um projeto JavaFX no IDE:</b></p>
<ol>
<li>No IDE, escolha Arquivo > Novo Projeto.</li>
<li>No assistente Novo Projeto, expanda a categoria Amostras e selecione JavaFX.</li>
<li>Escolha BrickBreaker na lista Projetos. Em seguida, clique em Próximo. </li>
<li>No painel Nome e Local, deixe os valores default para os campos Nome do Projeto, Localização do Projeto e Plataforma JavaFX.
<p class="align-center">
<a href="../../../images_www/articles/74/java/native_pkg/new_javafx_prj.png" rel="lytebox" title="Criando um projeto JavaFX"> <img alt="Criando um projeto JavaFX" src="../../../images_www/articles/74/java/native_pkg/new_javafx_prj_small.png"></a></p></li>
<li>Clique em Finalizar. <br> O projeto JavaFX do BrickBreaker é exibido na janela Projetos no IDE.</li>
</ol>
<p>Para testar se o projeto criado funciona, execute-o escolhendo Executar > Executar Projeto (BrickBreaker) no menu principal.<br> A aplicação Brick Breaker deve ser iniciada e exibida em sua máquina.</p>
<p class="align-center">
<a href="../../../images_www/articles/74/java/native_pkg/brickbreaker.png" rel="lytebox" title="Aplicação BrickBreaker em execução"> <img alt="Aplicação BrickBreaker em execução" src="../../../images_www/articles/74/java/native_pkg/brickbreaker_small.png"></a></p>
<h3><a name="enablefx"></a>Ativando Encapsulamento Nativo no Projeto</h3>
<p>Para usar o suporte ao encapsulamento nativo no IDE para seu projeto, é necessário ativá-lo primeiro.</p>
<p> Se clicar com o botão direito no mouse no projeto Brick Breaker, você não verá nele ações relacionadas a encapsulamento nativo. </p>
<p class="align-center">
<img alt="Menu de contexto sem ações Encapsular como" src="../../../images_www/articles/74/java/native_pkg/javafx_wo_pkg.png"></p>
<p><b>Para ativar as ações de encapsulamento nativo no menu de contexto do projeto:</b></p>
<ol>
<li>Clique com o botão direito do mouse no nó do projeto na janela Projetos e selecione as Propriedades no menu de contexto.</li>
<li>Na caixa de diálogo Propriedades do Projeto, escolha a categoria Construir e selecione a opção Ativar Encapsulamento Nativo.
<p class="align-center">
<a href="../../../images_www/articles/74/java/native_pkg/enable_native_pkg_fx.png" rel="lytebox" title="Opção Ativar Encapsulamento Nativo selecionada em um projeto JavaFX"> <img alt="Opção Ativar Encapsulamento Nativo selecionada em um projeto JavaFX" src="../../../images_www/articles/74/java/native_pkg/enable_native_pkg_fx_small.png"></a></p></li>
<li>Clique em OK. <br>A opção Encapsular como item é adicionada ao menu de contexto do projeto.
<p class="align-center">
<img alt="Ações Encapsular como ativadas no menu de contexto do projeto JavaFX" src="../../../images_www/articles/74/java/native_pkg/pkg_fx_enabled.png"></p> </li>
</ol>
<h3><a name="buildfx"></a>Construindo uma Aplicação </h3>
<p>Sua aplicação JavaFX agora está pronta para ser limpa e construída.</p>
<p><b>Para limpar e construir seu projeto:</b></p>
<ul>
<li>Escolha Executar > Limpar e Construir Projeto do menu principal.<br>O IDE exibe os resultados na janela de Saída.
</li></ul>
<p class="notes"><b>Observação:</b> se a construção for bem-sucedida, mas o IDE exibir <tt>advertência: [opções] caminho de classe de bootstrap não definido com -código-fonte 1.6</tt> 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: </p>
<ol>
<li>Clique com o botão direito do mouse no projeto BrickBreaker na janela Projetos e escolha Propriedades. </li>
<li>Na caixa de diálogo Propriedades do projeto, selecione a categoria Executar Códigos-fontes. </li>
<li>Defina o formato Código-fonte/Binário para JDK 8 e clique em OK. </li>
<li>Clique com o botão direito do mose na janela Projetos e escolha Limpar e Construir no menu de contexto.</li>
</ol>
<h3><a name="instfx"></a>Criando um Instalador <tt>MSI</tt></h3>
<p>A aplicação agora pode ser encapsulada em um pacote instalável específico do Windows. </p>
<p><b>Para construir um instalador <tt>MSI</tt>:</b></p>
<ul>
<li>Clique com o botão direito do mouse no projeto BrickBreaker e escolha Encapsular como > Instalador MSI do menu de contexto. </li>
</ul>
<p class="notes"><b>Observação:</b> o IDE cria um instalador <tt>MSI</tt> somente se WiX for <a href="#tool">instalada e adicionada à variável Path do sistema</a>.</p>
<p>O IDE exibe o andamento e o resultado do processo de encapsulamento na janela de Saída.</p>
<p class="align-center"><a href="../../../images_www/articles/74/java/native_pkg/output_fx_msi.png" rel="lytebox" title="A janela de saída exibe o andamento da construção de um instalador do MSI"> <img alt="A janela de saída exibe o andamento da construção de um instalador do MSI" src="../../../images_www/articles/74/java/native_pkg/output_fx_msi_small.png"></a></p>
<p class="notes"><b>Observação:</b> 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.</p>
<p>A aplicação JavaFX instalável está localizada no diretório <tt>BrickBreaker/dist/bundles/</tt>. </p>
<p class="align-center"><img alt="Instalador de MSI" src="../../../images_www/articles/74/java/native_pkg/brickbreaker_msi.png"></p>
</div>
<h2><a name="check">Verificando as Aplicações Instaláveis</a></h2>
Quando os instaladores de <tt>AnagramGame-1.0.exe</tt> e <tt>BrickBreaker-1.0.msi</tt> forem concluídos, você precisará em qual diretório as aplicações Anagram e BrickBreaker foram instaladas.
<p><b>Para verificar os instaladores:</b></p>
<ol>
<li>Procure o arquivo do instalador (<tt>AnagramGame-1.0.exe</tt> ou <tt>BrickBreaker-1.0.msi</tt>) em seu disco rígido.</li>
<li>Clique duas vezes para executar o instalador. </li>
</ol>
<p>As duas aplicações devem ser instaladas no diretório <tt>C:\Users\&lt;username>\AppData\Local\</tt> e devem estar disponíveis no menu Iniciar. </p>
<h2><a name="see"></a>Consulte Também</h2>
<ul>
<li><a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG2508">Encapsulando uma Aplicação como um Instalador Nativo</a> em <i>Desenvolvendo Aplicações com o NetBeans IDE</i></li>
<li><a href="http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm">Implantando Aplicações JavaFX: Encapsulamento da Aplicação Autocontida</a></li>
<li><a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html">Encapsulando uma Aplicação Java para Distribuição em uma Máquina</a></li>
</ul>
<div class="feedback-box" ><a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20Native%20Packaging%20In%20NetBeans%20IDE">Enviar Feedback neste Tutorial</a></div>
<br style="clear:both;" >
<p><a href="../../trails/matisse.html">Voltar à Trilha do Aprendizado</a></p>
</body>
</html>