GUI 使用指南

GUI 以嚮導方式完成保護任務,流程為:

應用型別 → 輸入/執行時/平臺 → 簡單或高階引數 → 輸出確認 → 執行

1. 應用型別

GUI 選項輸入輸出對應 CLI
Java Application普通可執行 JAR完整應用目錄javaapp
Spring BootSpring Boot 應用完整應用目錄springboot
Tomcat WARWAR內嵌 Tomcat 目錄tomcat
Library Encryption任意 JAR單個 P4JX 歸檔encode

選擇錯誤的型別可能導致主類、依賴、Web 資源或啟動器無法正確處理。

應用型別頁面

2. 輸入、執行時與目標平臺

一次嚮導任務選擇一個輸入 JAR 或 WAR。隨後選擇:

  • Bundled Java version:8、11、17、21 或 25,預設 21。
  • Target platforms:可以一次選擇多個平臺。
  • Mode:簡單模式或高階模式。

當選擇多個平臺時,工具會為每個平臺生成獨立目錄。

輸入、Java 版本和目標平臺頁面

3. 簡單模式

簡單模式適合絕大多數首次打包任務。離開輸入頁時,工具自動執行相容性掃描,並根據結果選擇:

  • 建議排除的類;
  • 是否啟用 JavaFX 和 WebView;
  • 是否啟用掃描器 ZIP overlay;
  • 是否改用 .jar 字尾;
  • Spring Boot 的推薦佈局;
  • Tomcat 9 或 10.1。

掃描結果是靜態分析建議,不是完整的執行測試。打包後仍應在目標平臺進行應用測試。

4. 高階模式

高階模式可以手動配置歸檔字尾、設定是否停用JIT、新增scanner overlay層、設定JVM 引數、設定排除規則以及各應用型別的專用選項。

完整的操作說明、引數含義、預設值和應用型別差異統一參見 Protector4J 高階模式設定

普通 Java 應用高階引數

5. 排除規則

GUI 和 CLI 使用相同規則:

com.example.SecretService   精確類名
com.example.service.*       僅當前包
com.example.service.**      當前包及所有子包

建議把 DTO、實體、Controller、配置類、JNI 橋接類以及需要執行時位元組碼增強的類排除,只保護核心業務實現。

6. 輸出確認

最後一頁顯示:

  • 輸入和應用型別;
  • Java 版本和目標平臺;
  • JavaFX 狀態;
  • 歸檔格式、JIT、overlay 和 Spring 佈局;
  • 保護範圍、排除規則和 Tomcat context。

可選擇 Create new folder,在輸出目錄下建立唯一的 p4jx-xxxx 子目錄。Tomcat 追加應用時不能啟用此項,因為必須直接指定現有 Tomcat 包目錄。

輸出確認和引數摘要

7. 匯出與載入任務檔案

高階引數頁和最終確認頁可匯出:

  • p4j-encrypt-run.sh
  • p4j-encrypt-run.bat

指令碼呼叫已安裝的 p4j 命令,並儲存當前已解析的選項。賬號郵箱和密碼不會寫入檔案。

使用視窗頂部 Load Task File 可重新載入指令碼並恢復任務,然後直接進入最終確認頁。舊版指令碼沒有任務後設資料時,GUI 會嘗試解析其中的 p4j 命令。