Guía de uso de la GUI
La GUI realiza tareas de protección de forma guiada, siguiendo este proceso:
Tipo de aplicación → Tiempo de entrada/ejecución/plataforma → Parámetros simples o avanzados → Confirmación de salida → Ejecutar
1. Tipo de aplicación
| Opciones de la GUI | Entrada | Salida | CLI correspondiente |
|---|---|---|---|
| Java Application | JAR ejecutable estándar | Directorio de la aplicación completa | javaapp |
| Spring Boot | Aplicación Spring Boot | Directorio de la aplicación completa | springboot |
| Tomcat WAR | WAR | Directorio de Tomcat incrustado | tomcat |
| Library Encryption | Cualquier JAR | Un solo archivo P4JX | encode |
Elegir el tipo incorrecto puede hacer que la clase principal, las dependencias, los recursos web o el iniciador no se procesen correctamente.

2. Entrada, tiempo de ejecución y plataforma de destino
En una tarea de asistente, se selecciona un JAR o WAR de entrada. Luego se elige:
- Bundled Java version: 8, 11, 17, 21 o 25; el valor predeterminado es 21.
- Target platforms: Se pueden seleccionar varias plataformas a la vez.
- Mode: Modo simple o modo avanzado.
Cuando se seleccionan varias plataformas, la herramienta genera un directorio independiente para cada una.

3. Modo simple
El modo simple es adecuado para la gran mayoría de las tareas de empaquetado por primera vez. Al salir de la página de entrada, la herramienta realiza automáticamente un análisis de compatibilidad y, según los resultados, elige:
- Clases que se recomienda excluir;
- Si habilitar JavaFX y WebView;
- Si habilitar la superposición ZIP del escáner;
- Si cambiar al sufijo
.jar; - Diseño recomendado para Spring Boot;
- Tomcat 9 o 10.1.
Los resultados de la exploración son recomendaciones de análisis estático, no pruebas de funcionamiento completas. Aún se deben realizar pruebas de la aplicación en la plataforma de destino después del empaquetado.
4. Modo avanzado
En el modo avanzado se puede configurar manualmente el sufijo del archivo archivado, decidir si deshabilitar JIT, agregar una capa de superposición del escáner, establecer parámetros de JVM, definir reglas de exclusión y opciones específicas para cada tipo de aplicación.
Para obtener una descripción completa de las operaciones, el significado de los parámetros, los valores predeterminados y las diferencias entre los tipos de aplicación, consulte Configuración del modo avanzado de Protector4J.

5. Reglas de exclusión
Se aplican las mismas reglas tanto en la GUI como en la CLI:
com.example.SecretService Nombre exacto de la clase
com.example.service.* Solo el paquete actual
com.example.service.** El paquete actual y todos sus subpaquetes
Se recomienda excluir DTO, entidades, Controller, clases de configuración, clases de enlace JNI y aquellas que requieren mejoras en bytecode en tiempo de ejecución, para proteger únicamente la implementación principal del negocio.
6. Confirmación de salida
En la última página se muestra:
- El tipo de entrada y aplicación;
- La versión de Java y la plataforma de destino;
- Estado de JavaFX;
- Formato de archivo, JIT, overlay y diseño Spring;
- Ámbito de protección, reglas de exclusión y contexto de Tomcat.
Se puede seleccionar Create new folder para crear un subdirectorio único p4jx-xxxx en el directorio de salida. Esta opción no se puede activar al agregar aplicaciones de Tomcat, ya que es necesario especificar directamente el directorio del paquete de Tomcat existente.

7. Exportación y carga de archivos de tareas
Se pueden exportar la página de parámetros avanzados y la página de confirmación final:
p4j-encrypt-run.shp4j-encrypt-run.bat
El script llama a la orden instalada p4j y guarda las opciones actualmente analizadas. La dirección de correo electrónico y la contraseña de la cuenta no se escriben en el archivo.
Utilizando Load Task File en la parte superior de la ventana, se puede volver a cargar el script y restaurar la tarea, para luego acceder directamente a la página de confirmación final. Cuando los scripts antiguos no cuentan con metadatos de tarea, la GUI intentará analizar las órdenes p4j que contengan.