Guia de uso da GUI

A GUI realiza tarefas de proteção de forma guiada, seguindo este fluxo:

Tipo de aplicação → Tempo de entrada/execução/plataforma → Parâmetros simples ou avançados → Confirmação de saída → Executar

1. Tipo de aplicativo

Opções da GUIEntradaSaídaCLI correspondente
Java ApplicationJAR executável comumDiretório completo do aplicativojavaapp
Spring BootAplicativo Spring BootDiretório completo do aplicativospringboot
Tomcat WARWARDiretório do Tomcat embutidotomcat
Library EncryptionQualquer JARArquivo P4JX únicoencode

Escolher o tipo incorreto pode impedir que a classe principal, as dependências, os recursos Web ou o iniciador sejam processados corretamente.

Página do tipo de aplicativo

2. Entrada, tempo de execução e plataforma de destino

Uma tarefa de guia permite selecionar um JAR ou WAR de entrada. Em seguida, escolha:

  • Bundled Java version: 8, 11, 17, 21 ou 25, sendo 21 o valor padrão.
  • Target platforms: É possível selecionar várias plataformas de uma só vez.
  • Mode: Modo simples ou modo avançado.

Quando várias plataformas são selecionadas, a ferramenta gera um diretório independente para cada plataforma.

Página de entrada, versão do Java e plataforma de destino

3. Modo simples

O modo simples é adequado para a grande maioria das tarefas de empacotamento iniciais. Ao sair da página de entrada, a ferramenta executa automaticamente uma varredura de compatibilidade e, com base nos resultados, escolhe:

  • Clases que devem ser excluídas;
  • Ativar ou não o JavaFX e o WebView;
  • Ativar ou não a sobreposição ZIP do scanner;
  • Alterar para o sufixo .jar;
  • Layout recomendado para o Spring Boot;
  • Tomcat 9 ou 10.1.

Os resultados da varredura são recomendações de análise estática, e não testes de execução completos. Testes da aplicação ainda devem ser realizados na plataforma de destino após a compilação.

4. Modo avançado

No modo avançado, é possível configurar manualmente o sufixo do arquivo compactado, definir se o JIT será desativado, adicionar uma camada de sobreposição do scanner, definir parâmetros da JVM, estabelecer regras de exclusão e opções específicas para cada tipo de aplicação.

As instruções completas de operação, o significado dos parâmetros, os valores padrão e as diferenças entre os tipos de aplicação podem ser encontrados em Configurações do modo avançado do Protector4J.

Parâmetros avançados para aplicações Java comuns

5. Regras de exclusão

A GUI e a CLI seguem as mesmas regras:

com.example.SecretService   Nome exato da classe
com.example.service.*       Apenas o pacote atual
com.example.service.**      Pacote atual e todos os pacotes filhos

Recomenda-se excluir DTOs, entidades, Controllers, classes de configuração, classes de ponte JNI e classes que necessitam de aprimoramentos em bytecode em tempo de execução, protegendo apenas a implementação principal do negócio.

6. Confirmação de saída

A última página exibe:

  • Tipo de entrada e aplicação;
  • Versão do Java e plataforma de destino;
  • Estado do JavaFX;
  • Formato de arquivamento, JIT, overlay e layout Spring;
  • Escopo de proteção, regras de exclusão e contexto do Tomcat.

É possível selecionar Create new folder para criar um subdiretório único p4jx-xxxx no diretório de saída. Este recurso não pode ser ativado ao adicionar aplicações ao Tomcat, pois é necessário especificar diretamente o diretório do pacote do Tomcat existente.

Confirmação de saída e resumo dos parâmetros

7. Exportação e carregamento de arquivos de tarefas

É possível exportar a página de parâmetros avançados e a página de confirmação final:

  • p4j-encrypt-run.sh
  • p4j-encrypt-run.bat

O script chama o comando p4j instalado e salva as opções atualmente analisadas. O e-mail da conta e a senha não são gravados no arquivo.

Usando Load Task File na parte superior da janela, é possível recarregar o script e restaurar a tarefa, indo diretamente para a página de confirmação final. Quando um script antigo não possui metadados de tarefa, a GUI tentará analisar o comando p4j nele contido.