GUI ガイド
GUI は保護タスクをウィザード形式で実行します。流れは次のとおりです。
アプリケーションの種類 → 入力・ランタイム・プラットフォーム → シンプルまたは詳細オプション → Windows EXE ランチャー (任意) → 出力確認 → 実行
1. アプリケーションの種類
| GUI の選択肢 | 入力 | 出力 | 対応する CLI |
|---|---|---|---|
| Java アプリケーション | 通常の実行可能 JAR | 完全なアプリケーションディレクトリ | javaapp |
| Spring Boot | Spring Boot アプリケーション | 完全なアプリケーションディレクトリ | springboot |
| Tomcat WAR | WAR | Tomcat を組み込んだディレクトリ | tomcat |
| ライブラリ暗号化 | 任意の JAR | 単一の P4JX アーカイブ | encode |
種類を誤ると、メインクラス、依存関係、Web リソース、ランチャーが正しく処理されないことがあります。

2. 入力・ランタイム・ターゲットプラットフォーム
ウィザード 1 回につき、入力 JAR または WAR を 1 つ処理します。続いて次を選びます。
- Java バージョン:8、11、17、21、25 のいずれか。既定は 21 です。
- ターゲットプラットフォーム:複数を同時に選べます。
- モード:シンプルまたは詳細設定。
- Windows アプリケーション EXE を生成:任意。Windows のターゲットプラットフォームを 1 つ以上選ぶ必要があります。
複数のプラットフォームを選ぶと、プラットフォームごとに個別のディレクトリが生成されます。

3. シンプルモード
シンプルモードは、初回のパッケージングのほとんどに適しています。入力ページを離れるときに互換性スキャンが実行され、その結果から次が決まります。
- 除外を推奨するクラス
- JavaFX と WebView を有効にするかどうか
- スキャナ ZIP オーバーレイを有効にするかどうか
.jarアーカイブサフィックスに切り替えるかどうか- Spring Boot のレイアウト
- Tomcat 9 と 10.1 のどちらを使うか
スキャン結果は静的解析にもとづく推奨であり、実際に動かしたテストの結果ではありません。パッケージング後は必ずターゲットプラットフォームで動作を確認してください。
4. 詳細設定モード
詳細設定モードでは、アーカイブサフィックスの指定、JIT を無効にするかどうかの判断、スキャナオーバーレイの追加、JVM オプションの設定、除外ルールの定義、アプリケーションの種類ごとの固有オプションの設定ができます。
詳しい操作、各オプションの意味、既定値、種類ごとの違いは Protector4J 詳細設定モードを参照してください。

5. Windows EXE ランチャー
入力ページで Windows アプリケーション EXE を生成 (x64/x86/ARM64) にチェックを入れると、オプションページのあとにランチャーページが追加されます。このチェックボックスはシンプルモードと詳細設定モードの分岐より前にあるため、どちらのモードでも EXE を生成できます。チェックしない場合は、そのまま出力確認ページに進みます。
ランチャーページでは次を設定できます。
- EXE ファイル名:空欄なら入力ファイル名を使います。Tomcat では
tomcatになります。 - ランチャーモード:コンソール、またはコンソールウィンドウを表示しない GUI。
- Windows アイコン:任意の
.icoファイル。 - JVM スタートアップオプション:1 行に 1 つ。EXE を有効にすると入力欄はこのページにのみ表示され、入力した内容は EXE と起動スクリプトの両方に書き込まれます。
- Windows バージョン情報:ファイルバージョン、製品バージョン、会社名、製品名、ファイルの説明、著作権表示。
ライブラリ暗号化はアーカイブを 1 つ出力するだけなので、このオプションはありません。詳細は Windows EXE ランチャーの生成を参照してください。
6. 除外ルール
GUI と CLI で同じ書き方を使います。
com.example.SecretService このクラスのみ
com.example.service.* このパッケージのみ
com.example.service.** このパッケージとすべてのサブパッケージ
DTO、エンティティ、コントローラー、設定クラス、JNI ブリッジクラス、実行時にバイトコード拡張が必要なクラスを除外すると、中核となる業務ロジックだけを保護できます。
7. 出力確認
最後のページには次が表示されます。
- 入力ファイルとアプリケーションの種類
- Java バージョンとターゲットプラットフォーム
- JavaFX を有効にしているかどうか
- アーカイブ形式、JIT 設定、オーバーレイ、Spring のレイアウト
- 保護範囲、除外ルール、Tomcat のコンテキストパス
新しいフォルダを作成するにチェックを入れると、出力ディレクトリの中に一意の名前を持つ p4jx-xxxx サブディレクトリを作ってそこに書き込みます。既存の Tomcat パッケージにアプリケーションを追加する場合は、既存のディレクトリを直接指定する必要があるため、この項目は使えません。

8. タスクファイルのエクスポートと読み込み
詳細オプションページと最終確認ページのどちらからでも、手動で編集できる p4j-task.yml タスクファイルをエクスポートできます。タスクファイルには、確定済みの設定が記録されます。
- 入力、アプリケーションの種類、出力の設定
- Java バージョンと 1 つ以上のターゲットプラットフォーム
- 保護範囲、互換性、パッケージングのオプション
ファイル内のコメントには、p4j --task-file <ファイル> の呼び出し方と、それに相当するコマンドラインの書き方が併記されます。アカウントのメールアドレスとパスワードはタスクファイルに書き込まれません。実行時に正式なアカウント情報を渡さない場合は、試用版が生成されます。
ウィンドウ上部のタスクファイルを読み込むを使うと、YAML を読み直してタスクを復元し、最終確認ページに直接移動できます。旧バージョンがエクスポートした p4j-encrypt-run.sh と .bat も引き続き読み込めますが、GUI は実行スクリプトをエクスポートしなくなりました。