Neues Modul pdf-umbenenner-packaging und zugehörige Dokumentation

- Parent-POM bindet das neue Modul ein und pflegt die jpackage-Plugin-Version
- pdf-umbenenner-packaging enthält jpackage-Inputs: Launcher-Batches, Icon,
  Beispiel-Properties und Icon-README
- CLAUDE.md und docs/betrieb.md ergänzen die MSI-/Packaging-Hinweise
- Arbeitspaket-Dokumente M14 und M15 neu aufgenommen
This commit is contained in:
2026-04-21 16:11:10 +02:00
parent ada7e203e3
commit aaedc2d713
11 changed files with 961 additions and 6 deletions
+71 -4
View File
@@ -70,11 +70,16 @@ bleibt der einzige Weg, PDF-Dateien automatisiert zu verarbeiten.
## Voraussetzungen
- Java 21 (JRE oder JDK)
- Zugang zu einem KI-Dienst (API-Schlüssel erforderlich; unterstützte Provider: OpenAI-kompatibel, Anthropic Claude)
- Quellordner mit OCR-verarbeiteten PDF-Dateien
- Schreibzugriff auf Zielordner und Datenbankverzeichnis
### Java-Laufzeitumgebung
- Bei Verwendung des **Shade-JAR** direkt: **Java 21 JRE** auf dem Zielsystem erforderlich.
- Bei Verwendung des **Windows-Installers (V3.0)**: **keine** separate Java-Installation notwendig
die JRE 21 ist in der installierten Anwendung eingebettet.
---
## Start des ausführbaren JAR
@@ -400,10 +405,72 @@ JavaFX-Klassen sind zwar im Shade-JAR enthalten, werden im headless Pfad jedoch
nicht geladen. Headless läuft damit auch auf Windows Server-Systemen ohne
JavaFX-fähige Grafiklaufzeit.
### Keine EXE, kein Installer
### Windows-Installer (V3.0)
In V2.0 wird ausschließlich das JAR als Distributionsartefakt ausgeliefert.
EXE-Wrapper und Installer sind bewusst nicht Bestandteil von V2.0.
Ab V3.0 steht neben dem Shade-JAR ein vollwertiger **MSI-Installer** für Windows 10/11 (x64)
und Windows Server 2022 (x64) bereit. Der Installer enthält eine eingebettete JRE 21 und
benötigt keine separate Java-Installation auf dem Zielsystem. Das Shade-JAR bleibt das
primäre Distributionsartefakt; der MSI ist eine zusätzliche Option für Systeme ohne
Java-Installation und für den Standard-Installationspfad nach `C:\Program Files\`.
**Voraussetzungen für den Installer-Build (nur auf der Entwicklungsmaschine):**
- Windows x64
- JDK 21 im PATH
- [WiX Toolset 3.x](https://wixtoolset.org/) im PATH
**MSI bauen:**
```powershell
.\mvnw.cmd clean package -P release -pl pdf-umbenenner-packaging --also-make -DskipTests
```
Der normale Build (`mvn clean verify`) ist vom Profil `release` vollständig unberührt
und benötigt **kein** WiX Toolset.
Das Ergebnis liegt unter:
```
pdf-umbenenner-packaging/target/dist/
PDF-KI-Renamer-2.5.0.msi ← Windows-Installer
PDF-KI-Renamer.bat ← Headless-Start (zusätzlich kopiert)
PDF-KI-Renamer-GUI.bat ← GUI-Start (zusätzlich kopiert)
```
**Installationsverzeichnis:**
Der Installer legt die Anwendung nach `C:\Program Files\PDF KI Renamer\` ab.
Beide Batch-Dateien landen ebenfalls dort. Der Installer erstellt:
- einen Startmenü-Eintrag in der Gruppe `PDF KI Renamer` (startet die GUI)
- einen Desktop-Shortcut (startet die GUI)
Die Deinstallation erfolgt über „Programme und Features" in der Windows-Systemsteuerung.
Vom Installer angelegte Dateien werden entfernt; Nutzerdaten unter `C:\ProgramData\PDF KI Renamer\`
(Konfiguration, Logs, SQLite-Datenbank) bleiben erhalten.
**Konfigurationsverzeichnis (`ProgramData`):**
Das empfohlene Konfigurationsverzeichnis für den produktiven Betrieb ist:
```
C:\ProgramData\PDF KI Renamer\config\
```
Die Anwendung löst dieses Verzeichnis **nicht** automatisch auf. Der Pfad zur
Konfigurationsdatei muss weiterhin explizit über `--config` angegeben werden
(siehe „CLI-Optionen"). Der Installer legt eine Beispiel-Konfiguration namens
`application.example.properties` neben den installierten Artefakten im
Installationsverzeichnis ab. **Der Betreiber muss diese Beispieldatei manuell nach**
`C:\ProgramData\PDF KI Renamer\config\` **kopieren und anpassen.**
**Beispielaufruf headless mit installierter Anwendung:**
```powershell
"C:\Program Files\PDF KI Renamer\PDF-KI-Renamer.bat" --config "C:\ProgramData\PDF KI Renamer\config\application.properties"
```
**Hinweis:** Der MSI ist nicht signiert. Beim Installieren erscheint eine
Windows-SmartScreen-Warnung, die durch „Weitere Informationen → Trotzdem ausführen"
bestätigt werden muss. Code-Signing ist für spätere Ausbaustufen vorgesehen.
### Build-Kommandos