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-OptionEingabeAusgabeEntsprechender CLI-Befehl
Java-AnwendungGewöhnliches ausführbares JARVollständiges Anwendungsverzeichnisjavaapp
Spring BootSpring-Boot-AnwendungVollständiges Anwendungsverzeichnisspringboot
Tomcat WARWARVerzeichnis mit eingebettetem Tomcattomcat
BibliotheksverschlüsselungBeliebiges JAREin einzelnes P4JX-Archivencode

Bei falschem Typ werden Hauptklasse, Abhängigkeiten, Web-Ressourcen oder Starter möglicherweise nicht korrekt verarbeitet.

Seite „Anwendungstyp“

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.

Seite „Eingabe, Java-Version und Zielplattformen“

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 .jar gewechselt 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.

Erweiterte Optionen einer gewöhnlichen Java-Anwendung

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.

Ausgabeprüfung und Optionsübersicht

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.