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 GUIEntradaSalidaCLI correspondiente
Java ApplicationJAR ejecutable estándarDirectorio de la aplicación completajavaapp
Spring BootAplicación Spring BootDirectorio de la aplicación completaspringboot
Tomcat WARWARDirectorio de Tomcat incrustadotomcat
Library EncryptionCualquier JARUn solo archivo P4JXencode

Elegir el tipo incorrecto puede hacer que la clase principal, las dependencias, los recursos web o el iniciador no se procesen correctamente.

Página de tipo de aplicación

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.

Página de entrada, versión de Java y plataforma de destino

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.

Parámetros avanzados para aplicaciones Java comunes

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.

Confirmación de salida y resumen de parámetros

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.sh
  • p4j-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.