GUI-Leitfaden
Die GUI führt jeden Schutzvorgang als Assistent durch. Der Ablauf sieht so aus:
Anwendungstyp → Eingabe, Runtime, Plattform → Einfache oder erweiterte Optionen → Windows-EXE-Starter (optional) → Ausgabe prüfen → Ausführen
1. Anwendungstyp
| GUI-Option | Eingabe | Ausgabe | Entsprechender CLI-Befehl |
|---|---|---|---|
| Java-Anwendung | Gewöhnliches ausführbares JAR | Vollständiges Anwendungsverzeichnis | javaapp |
| Spring Boot | Spring-Boot-Anwendung | Vollständiges Anwendungsverzeichnis | springboot |
| Tomcat WAR | WAR | Verzeichnis mit eingebettetem Tomcat | tomcat |
| Bibliotheksverschlüsselung | Beliebiges JAR | Ein einzelnes P4JX-Archiv | encode |
Bei falschem Typ werden Hauptklasse, Abhängigkeiten, Web-Ressourcen oder Starter möglicherweise nicht korrekt verarbeitet.

2. Eingabe, Runtime und Zielplattformen
Ein Assistentendurchlauf verarbeitet ein Eingabe-JAR oder -WAR. Anschließend wählen Sie:
- Java-Version: 8, 11, 17, 21 oder 25. Standard ist 21.
- Zielplattformen: Mehrere gleichzeitig möglich.
- Modus: einfach oder erweitert.
- Windows-Anwendungs-EXE erzeugen: optional; erfordert mindestens eine Windows-Zielplattform.
Bei mehreren Plattformen erzeugt das Werkzeug für jede Plattform ein eigenes Verzeichnis.

3. Einfacher Modus
Der einfache Modus eignet sich für nahezu jeden ersten Paketierungslauf. Beim Verlassen der Eingabeseite führt das Werkzeug einen Kompatibilitätsscan durch und entscheidet anhand des Ergebnisses:
- welche Klassen zum Ausschluss empfohlen werden;
- ob JavaFX und WebView aktiviert werden;
- ob das Scanner-ZIP-Overlay aktiviert wird;
- ob auf das Archivsuffix
.jargewechselt wird; - welches Layout für Spring Boot verwendet wird;
- ob Tomcat 9 oder 10.1 zum Einsatz kommt.
Der Scan liefert Empfehlungen aus einer statischen Analyse, nicht die Ergebnisse eines echten Testlaufs. Testen Sie die paketierte Anwendung anschließend immer auf der Zielplattform.
4. Erweiterter Modus
Im erweiterten Modus legen Sie das Archivsuffix selbst fest, entscheiden über das Deaktivieren des JIT, fügen das Scanner-Overlay hinzu, setzen JVM-Optionen, definieren Ausschlussregeln und konfigurieren die Optionen des jeweiligen Anwendungstyps.
Vollständige Anleitung, Bedeutung jeder Option, Standardwerte und Unterschiede zwischen den Anwendungstypen finden Sie unter Protector4J Erweiterte Moduseinstellungen.

5. Windows-EXE-Starter
Wenn Sie auf der Eingabeseite Windows-Anwendungs-EXE erzeugen (x64/x86/ARM64) aktivieren, fügt der Assistent nach der Optionsseite eine Starterseite ein. Das Kontrollkästchen liegt vor der Verzweigung zwischen einfachem und erweitertem Modus, sodass beide Modi eine EXE erzeugen können. Ohne Aktivierung geht es direkt zur Ausgabeprüfung.
Auf der Starterseite legen Sie fest:
- EXE-Dateiname: leer lassen, um den Namen der Eingabedatei zu verwenden; Tomcat verwendet
tomcat. - Startermodus: Konsole oder GUI ohne Konsolenfenster.
- Windows-Symbol: optionale
.ico-Datei. - JVM-Startoptionen: eine pro Zeile. Bei aktivierter EXE erscheint dieses Feld nur hier; die Eingaben gelangen sowohl in die EXE als auch in die Startskripte.
- Windows-Versionsinformationen: Dateiversion, Produktversion, Firmenname, Produktname, Dateibeschreibung und Copyright-Hinweis.
Die Bibliotheksverschlüsselung gibt nur eine einzelne Archivdatei aus und bietet diese Option daher nicht. Einzelheiten unter Windows-EXE-Starter erzeugen.
6. Ausschlussregeln
GUI und CLI verwenden dieselbe Schreibweise:
com.example.SecretService nur diese Klasse
com.example.service.* nur dieses Paket
com.example.service.** dieses Paket und alle Unterpakete
Wenn Sie DTOs, Entitäten, Controller, Konfigurationsklassen, JNI-Brückenklassen und Klassen ausschließen, die zur Laufzeit eine Bytecode-Erweiterung benötigen, schützen Sie nur die zentrale Geschäftslogik.
7. Ausgabe prüfen
Die letzte Seite zeigt:
- Eingabedatei und Anwendungstyp;
- Java-Version und Zielplattformen;
- ob JavaFX aktiviert ist;
- Archivformat, JIT-Einstellung, Overlay und Spring-Layout;
- Schutzumfang, Ausschlussregeln und Tomcat-Kontextpfad.
Mit Neuen Ordner erstellen legen Sie das Ergebnis in einem eindeutig benannten Unterverzeichnis p4jx-xxxx des Ausgabeverzeichnisses ab. Beim Anhängen einer Anwendung an ein vorhandenes Tomcat-Paket lässt sich diese Option nicht verwenden, da dort das vorhandene Verzeichnis direkt angegeben werden muss.

8. Aufgabendateien exportieren und laden
Sowohl die Seite mit den erweiterten Optionen als auch die Abschlussseite können eine von Hand bearbeitbare Aufgabendatei p4j-task.yml exportieren. Darin werden die aufgelösten Einstellungen festgehalten:
- Eingabe, Anwendungstyp und Ausgabeeinstellungen;
- Java-Version und eine oder mehrere Zielplattformen;
- Schutzumfang, Kompatibilität und Paketierungsoptionen.
Kommentare in der Datei zeigen sowohl den Aufruf p4j --task-file <Datei> als auch die gleichwertige reine Kommandozeile. E-Mail-Adresse und Kennwort des Kontos werden nie in die Aufgabendatei geschrieben; ohne echte Kontodaten zur Laufzeit entsteht ein Testpaket.
Über Aufgabendatei laden oben im Fenster lesen Sie eine YAML-Datei wieder ein, stellen die Aufgabe wieder her und springen direkt zur Abschlussseite. Ältere p4j-encrypt-run.sh- und .bat-Dateien lassen sich weiterhin importieren, die GUI exportiert jedoch keine Ausführungsskripte mehr.