保護 Java 類庫
Library Encryption 對應低層 encode 命令,只生成一個受保護歸檔,不復制執行時,也不生成應用啟動指令碼。
1. GUI 操作
-
在應用型別頁選擇 Library Encryption。如果需要一個能直接啟動的交付包,應改選 Java Application、Spring Boot 或 Tomcat WAR。

-
選擇輸入 JAR、與實際載入環境一致的 Java 版本和目標平臺,再選擇簡單模式或高階模式。類庫輸出不攜帶
vlxjre,但這些選擇仍用於確定歸檔對應的執行時身份;不要為了減少產物數量而把不同平臺的輸出混用。
-
簡單模式會掃描輸入 JAR,自動應用 Library Encryption 支援的掃描器 ZIP overlay 和歸檔字尾建議。它仍會加密輸入 JAR 中的所有
.class條目,其他資源保持未加密。 -
高階模式可按需設定:
- Disable JIT for protected methods:讓保護方法僅在直譯器中執行;
- Append scanner ZIP overlay:向直接解析 ZIP 中央目錄的工具提供公開資源和後設資料樁;
- Compatibility scan…:掃描 ZIP 訪問、字尾假設、JNI/原生類和執行時位元組碼讀取等相容性風險。
-
在輸出頁選擇完整的輸出檔名,通常使用
.p4jx;僅在整合程式硬編碼要求.jar字尾時才使用.jar。高階頁的 Archive suffix 選擇或掃描建議會同步已選檔案的.p4jx/.jar字尾。複核 Java 版本、目標平臺、JIT、scanner overlay,然後點選 Run protection。單平臺任務使用所選的精確檔案路徑。選擇多個目標平臺時,GUI 會在該檔案所在目錄下按平臺建立子目錄,分別寫出對應歸檔。
2. 適用場景
- 保護作為其他受控 P4JX 應用組成部分的自有 JAR;
- 由已有啟動器裝載 P4JX 歸檔;
- 需要自行管理完整交付目錄的高階整合。
如果目標是可直接執行的普通應用、Spring Boot 或 Tomcat,請使用對應打包命令。
3. 基本命令
p4j encode library.jar library.p4jx
也可使用縮寫:
p4j library.jar library.p4jx
encode 寫入使用者提供的完整輸出檔名,因此下面兩者都是 P4JX 格式:
p4j encode library.jar library.p4jx
p4j encode library.jar library.jar
4. ZIP overlay
p4j encode library.jar library.p4jx \
--zip-overlay scanner
overlay 只包含公開資源、目錄和後設資料樁,用於相容直接解析 ZIP 中央目錄的工具。它不會暴露真實保護方法,也不會把 P4JX 變成普通 JAR。
5. 執行時要求
低層 encode 不生成 vlxjre,使用方必須提供與編碼時身份匹配的 VLX 執行時。不要:
- 使用普通 OpenJDK/Oracle JDK 載入;
- 從另一版本輸出包複製
lib/modules或 native 庫; - 把不同目標平臺、JDK 訓練線或編碼任務的執行時與歸檔混用。
對於普通交付專案,優先使用高層打包命令自動維護這些關係。
6. 許可
生成歸檔時必須成功取得並嵌入伺服器簽發的許可。正式賬號和試用模式遵循相同的歸檔校驗流程。自動化環境不要在匯出的任務指令碼中硬編碼密碼。