Guía de la interfaz gráfica

La interfaz gráfica ejecuta cada tarea de protección como un asistente. El recorrido es este:

Tipo de aplicación → Entrada, entorno de ejecución y plataforma → Opciones simples o avanzadas → Iniciador EXE de Windows (opcional) → Revisión de la salida → Ejecución

1. Tipo de aplicación

Opción de la interfazEntradaSalidaComando equivalente
Aplicación JavaJAR ejecutable corrienteDirectorio de aplicación completojavaapp
Spring BootAplicación Spring BootDirectorio de aplicación completospringboot
Tomcat WARWARDirectorio con Tomcat integradotomcat
Cifrado de bibliotecasCualquier JARUn único archivo P4JXencode

Si elige el tipo equivocado, es posible 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, entorno de ejecución y plataformas de destino

Cada ejecución del asistente procesa un JAR o un WAR. A continuación se elige:

  • Versión de Java: 8, 11, 17, 21 o 25. Por defecto es 21.
  • Plataformas de destino: puede seleccionar varias a la vez.
  • Modo: simple o avanzado.
  • Generar un EXE de aplicación para Windows: opcional; requiere al menos una plataforma de destino Windows.

Si selecciona varias plataformas, la herramienta genera un directorio independiente para cada una.

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

3. Modo simple

El modo simple sirve para casi cualquier primer empaquetado. Al salir de la página de entrada, la herramienta ejecuta un escaneo de compatibilidad y decide a partir del resultado:

  • qué clases conviene excluir;
  • si se activan JavaFX y WebView;
  • si se activa la capa ZIP para escáneres;
  • si se cambia al sufijo de archivo .jar;
  • qué diseño se usa para Spring Boot;
  • si se emplea Tomcat 9 o 10.1.

El escaneo produce recomendaciones a partir de un análisis estático, no los resultados de una ejecución real. Pruebe siempre la aplicación empaquetada en la plataforma de destino.

4. Modo avanzado

En el modo avanzado puede fijar el sufijo del archivo a mano, decidir si desactiva el JIT, añadir la capa para escáneres, establecer opciones de la JVM, definir reglas de exclusión y configurar las opciones propias de cada tipo de aplicación.

Las instrucciones completas, el significado de cada opción, los valores por defecto y las diferencias entre tipos están en Ajustes del modo avanzado de Protector4J.

Opciones avanzadas de una aplicación Java corriente

5. Iniciador EXE de Windows

Si marca Generar un EXE de aplicación para Windows (x64/x86/ARM64) en la página de entrada, el asistente añade una página de iniciador después de la de opciones. La casilla está antes de la bifurcación entre modo simple y avanzado, así que ambos modos pueden generar un EXE. Si no la marca, el asistente pasa directamente a la revisión de la salida.

En la página del iniciador puede indicar:

  • Nombre del archivo EXE: si lo deja vacío se usa el nombre del archivo de entrada; Tomcat usa tomcat.
  • Modo del iniciador: consola, o interfaz gráfica sin ventana de consola.
  • Icono de Windows: archivo .ico opcional.
  • Opciones de inicio de la JVM: una por línea. Con el EXE activado, este campo solo aparece aquí, y lo que escriba se escribe tanto en el EXE como en los scripts de arranque.
  • Información de versión de Windows: versión del archivo, versión del producto, nombre de la empresa, nombre del producto, descripción del archivo y aviso de copyright.

El cifrado de bibliotecas produce un único archivo, por lo que no ofrece esta opción. Los detalles están en Crear un iniciador EXE de Windows.

6. Reglas de exclusión

La interfaz gráfica y la línea de comandos usan la misma sintaxis:

com.example.SecretService   solo esta clase
com.example.service.*       solo este paquete
com.example.service.**      este paquete y todos sus subpaquetes

Si excluye los DTO, las entidades, los controladores, las clases de configuración, las clases puente de JNI y todo lo que necesite ampliación de bytecode en tiempo de ejecución, protegerá únicamente la lógica de negocio principal.

7. Revisión de la salida

La última página muestra:

  • el archivo de entrada y el tipo de aplicación;
  • la versión de Java y las plataformas de destino;
  • si JavaFX está activado;
  • el formato del archivo, el ajuste del JIT, la capa y el diseño de Spring;
  • el alcance de la protección, las reglas de exclusión y la ruta de contexto de Tomcat.

Marque Crear nueva carpeta para dejar el resultado en un subdirectorio p4jx-xxxx de nombre único dentro del directorio de salida. No puede usarse al añadir una aplicación a un paquete de Tomcat existente, porque en ese caso hay que indicar directamente el directorio ya creado.

Revisión de la salida y resumen de opciones

8. Exportar y cargar archivos de tarea

Tanto la página de opciones avanzadas como la de revisión final pueden exportar un archivo de tarea p4j-task.yml, editable a mano. El archivo recoge los ajustes ya resueltos:

  • la entrada, el tipo de aplicación y los ajustes de salida;
  • la versión de Java y una o varias plataformas de destino;
  • el alcance de la protección y las opciones de compatibilidad y empaquetado.

Los comentarios del archivo muestran tanto la invocación p4j --task-file <archivo> como la línea de comandos equivalente. El correo y la contraseña de la cuenta nunca se escriben en el archivo de tarea; sin credenciales reales en tiempo de ejecución, el resultado es una compilación de prueba.

Con Cargar archivo de tarea, en la parte superior de la ventana, vuelve a leer un YAML, restaura la tarea y salta directamente a la revisión final. Los antiguos p4j-encrypt-run.sh y .bat todavía pueden importarse, pero la interfaz ya no exporta scripts de ejecución.