GUI利用ガイド
GUIはウィザード形式で保護タスクを実行し、その流れは以下の通りです:
アプリケーションタイプ → 入力/実行時/プラットフォーム → 簡易または詳細パラメータ → 出力確認 → 実行
1. アプリケーションの種類
| GUIのオプション | 入力 | 出力 | 対応するCLI |
|---|---|---|---|
| Java Application | 通常の実行可能JARファイル | 完全なアプリケーションディレクトリ | javaapp |
| Spring Boot | Spring Bootアプリケーション | 完全なアプリケーションディレクトリ | springboot |
| Tomcat WAR | WAR | 組み込みTomcatディレクトリ | tomcat |
| Library Encryption | 任意のJARファイル | 単一のP4JXアーカイブ | encode |
誤ったタイプを選択すると、メインクラス、依存関係、Webリソース、またはスターターが正しく処理されない可能性があります。

2. 入力、実行時、およびターゲットプラットフォーム
ワンステップガイドタスクでは、入力するJARまたはWARを1つ選択します。その後、次のように選択します:
- Bundled Java version:8、11、17、21、または25で、デフォルトは21です。
- Target platforms:複数のプラットフォームを一度に選択することができます。
- Mode:シンプルモードまたはアドバンスドモード。
複数のプラットフォームを選択した場合、このツールは各プラットフォームごとに独立したディレクトリを作成します。

3. シンプルモード
シンプルモードは、ほとんどの初回のパッケージ作成タスクに適しています。入力ページを離れると、ツールは自動的に互換性スキャンを実行し、その結果に基づいて適切な処理を選択します。
- 除外すべきクラスの例;
- JavaFXおよびWebViewを有効にするかどうか;
- スキャナーのZIP overlayを有効にするかどうか;
.jarというサフィックスに変更するかどうか;- Spring Bootの推奨レイアウト;
- Tomcat 9または10.1。
スキャン結果は静的解析による提案であり、完全な実行テストではありません。パッケージ化後も対象プラットフォームでアプリケーションテストを行う必要があります。
4. 高度なモード
高度なモードでは、アーカイブのサフィックスを手動で設定したり、JITの無効化の有無を指定したり、scanner overlayレイヤーを追加したり、JVMパラメータを設定したり、除外規則を設定したり、各アプリケーションタイプ専用のオプションを設定したりできます。
詳細な操作手順、パラメータの意味、デフォルト値、およびアプリケーションタイプの違いについては、Protector4Jの高度なモード設定を参照してください。

5. 除外規則
GUIとCLIでは同じ規則が適用されます。
com.example.SecretService 正確なクラス名
com.example.service.* 現在のパッケージのみ
com.example.service.** 現在のパッケージおよびすべてのサブパッケージ
DTO、エンティティ、Controller、設定クラス、JNIブリッジクラス、および実行時のバイトコード強化が必要なクラスは除外し、コアビジネスロジックのみを「保護」することを推奨します。
6. 出力確認
最終ページには以下が表示されます:
- 入力値とアプリケーションタイプ;
- Javaのバージョンとターゲットプラットフォーム;
- JavaFXの状態;
- アーカイブ形式、JIT、overlay、およびSpringレイアウト;
- 保護範囲、除外規則、およびTomcatコンテキスト。
Create new folderを選択すると、出力ディレクトリ内に一意なp4jx-xxxxサブディレクトリが作成されます。既存のTomcatパッケージディレクトリを直接指定する必要があるため、Tomcatにアプリケーションを追加する際にはこのオプションを有効にできません。

7. タスクファイルのエクスポートと読み込み
詳細パラメータページと最終確認ページをエクスポートできます:
p4j-encrypt-run.shp4j-encrypt-run.bat
スクリプトがインストールされているp4jコマンドを呼び出し、現在解析されているオプションを保存します。アカウントのメールアドレスやパスワードはファイルに記録されません。
ウィンドウ上部のLoad Task Fileを使用してスクリプトを再読み込みし、タスクを復元した後、直接最終確認ページに進むことができます。古いバージョンのスクリプトにタスクメタデータがない場合、GUIはその中のp4jコマンドの解析を試みます。