Guia da interface gráfica

A interface gráfica conduz cada tarefa de proteção como um assistente. O percurso é este:

Tipo de aplicativo → Entrada, tempo de execução e plataforma → Opções simples ou avançadas → Iniciador EXE do Windows (opcional) → Conferência da saída → Execução

1. Tipo de aplicativo

Opção da interfaceEntradaSaídaComando equivalente
Aplicação JavaJAR executável comumPasta de aplicativo completajavaapp
Spring BootAplicativo Spring BootPasta de aplicativo completaspringboot
Tomcat WARWARPasta com Tomcat embutidotomcat
Criptografia de bibliotecasQualquer JARUm único arquivo P4JXencode

Escolher o tipo errado pode fazer com que a classe principal, as dependências, os recursos web ou o iniciador não sejam processados corretamente.

Página do tipo de aplicativo

2. Entrada, tempo de execução e plataformas-alvo

Cada passagem pelo assistente processa um JAR ou um WAR. Em seguida você escolhe:

  • Versão do Java: 8, 11, 17, 21 ou 25. O padrão é 21.
  • Plataformas-alvo: é possível marcar várias de uma vez.
  • Modo: simples ou avançado.
  • Gerar um EXE de aplicação para Windows: opcional, e exige pelo menos uma plataforma-alvo Windows.

Ao marcar várias plataformas, a ferramenta gera uma pasta separada para cada uma.

Página de entrada, versão do Java e plataformas-alvo

3. Modo simples

O modo simples serve para quase todo primeiro empacotamento. Ao sair da página de entrada, a ferramenta faz uma verificação de compatibilidade e decide a partir do resultado:

  • quais classes convém excluir;
  • se JavaFX e WebView são ativados;
  • se a camada ZIP para scanners é ativada;
  • se passa a usar o sufixo de arquivo .jar;
  • qual disposição usar para o Spring Boot;
  • se emprega Tomcat 9 ou 10.1.

A verificação produz recomendações a partir de uma análise estática, e não os resultados de uma execução real. Teste sempre o aplicativo empacotado na plataforma-alvo.

4. Modo avançado

No modo avançado você define o sufixo do arquivo, decide sobre a desativação do JIT, acrescenta a camada para scanners, define opções da JVM e regras de exclusão, e ajusta as opções próprias de cada tipo de aplicativo.

As instruções completas, o significado de cada opção, os padrões e as diferenças entre tipos estão em Configurações do modo avançado do Protector4J.

Opções avançadas de um aplicativo Java comum

5. Iniciador EXE do Windows

Ao marcar Gerar um EXE de aplicação para Windows (x64/x86/ARM64) na página de entrada, o assistente acrescenta uma página de iniciador depois da página de opções. Essa caixa fica antes da bifurcação entre modo simples e avançado, de modo que ambos podem gerar um EXE. Sem marcá-la, o assistente vai direto para a conferência da saída.

Na página do iniciador é possível informar:

  • Nome do arquivo EXE: em branco, usa o nome do arquivo de entrada; o Tomcat usa tomcat.
  • Modo do iniciador: console ou interface gráfica sem janela de console.
  • Ícone do Windows: arquivo .ico opcional.
  • Opções de inicialização JVM: uma por linha. Com o EXE ativado, este campo aparece apenas aqui, e o que você digitar é gravado tanto no EXE quanto nos scripts de inicialização.
  • Informações de versão do Windows: versão do arquivo, versão do produto, nome da empresa, nome do produto, descrição do arquivo e aviso de direitos autorais.

A criptografia de bibliotecas produz um único arquivo e, por isso, não oferece essa opção. Os detalhes estão em Criar um iniciador EXE do Windows.

6. Regras de exclusão

A interface gráfica e a linha de comando usam a mesma sintaxe:

com.example.SecretService   somente esta classe
com.example.service.*       somente este pacote
com.example.service.**      este pacote e todos os subpacotes

Excluindo DTOs, entidades, controladores, classes de configuração, classes-ponte JNI e tudo o que precise de ampliação de bytecode em tempo de execução, você protege apenas o núcleo da lógica de negócio.

7. Conferência da saída

A última página mostra:

  • o arquivo de entrada e o tipo de aplicativo;
  • a versão do Java e as plataformas-alvo;
  • se o JavaFX está ativado;
  • o formato do arquivo, o ajuste do JIT, a camada e a disposição do Spring;
  • o alcance da proteção, as regras de exclusão e o caminho de contexto do Tomcat.

Marque Criar uma nova pasta para gravar o resultado numa subpasta p4jx-xxxx de nome exclusivo dentro da pasta de saída. Essa opção não pode ser usada ao acrescentar um aplicativo a um pacote Tomcat já existente, pois nesse caso é preciso indicar diretamente a pasta existente.

Conferência da saída e resumo das opções

8. Exportar e carregar arquivos de tarefa

Tanto a página de opções avançadas quanto a página final podem exportar um arquivo de tarefa p4j-task.yml, editável à mão. Ele registra as configurações já resolvidas:

  • a entrada, o tipo de aplicativo e as configurações de saída;
  • a versão do Java e uma ou mais plataformas-alvo;
  • o alcance da proteção e as opções de compatibilidade e empacotamento.

Os comentários do arquivo mostram tanto a chamada p4j --task-file <arquivo> quanto a linha de comando equivalente. O e-mail e a senha da conta nunca são gravados no arquivo de tarefa; sem credenciais reais em tempo de execução, o resultado é uma versão de avaliação.

Com Carregar arquivo de tarefa, na parte de cima da janela, você relê um YAML, restaura a tarefa e salta direto para a página final. Os antigos p4j-encrypt-run.sh e .bat continuam podendo ser importados, mas a interface não exporta mais scripts de execução.