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 interface | Entrada | Saída | Comando equivalente |
|---|---|---|---|
| Aplicação Java | JAR executável comum | Pasta de aplicativo completa | javaapp |
| Spring Boot | Aplicativo Spring Boot | Pasta de aplicativo completa | springboot |
| Tomcat WAR | WAR | Pasta com Tomcat embutido | tomcat |
| Criptografia de bibliotecas | Qualquer JAR | Um único arquivo P4JX | encode |
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.

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.

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.

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
.icoopcional. - 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.

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.