Руководство по использованию GUI
GUI выполняет задачи защиты с помощью мастера; последовательность действий следующая:
Тип приложения → Ввод/во время выполнения/платформа → Простые или продвинутые параметры → Подтверждение вывода → Выполнение
1. Тип приложения
| Параметры GUI | Ввод | Вывод | Соответствующий CLI |
|---|---|---|---|
| Java Application | Обычный исполняемый JAR | Полный каталог приложения | javaapp |
| Spring Boot | Приложение Spring Boot | Полный каталог приложения | springboot |
| Tomcat WAR | WAR | Каталог встроенного Tomcat | tomcat |
| Library Encryption | Любой JAR-файл | Одно архивное сжатие P4JX | encode |
Неправильный выбор типа может привести к тому, что главный класс, зависимости, веб-ресурсы или стартер не будут обрабатываться корректно.

2. Ввод, время выполнения и целевая платформа
В ходе одной из задач-маршрутов необходимо выбрать файл JAR или WAR. Затем следует выбрать:
- 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 в верхней части окна можно перезагрузить скрипт и восстановить задание, после чего перейти непосредственно на страницу окончательного подтверждения. Если у старых скриптов отсутствуют метаданные задания, интерфейс попытается обработать команду p4j, содержащуюся в них.