Руководство по графическому интерфейсу
Графический интерфейс проводит каждую задачу защиты как мастер. Порядок такой:
Тип приложения → Ввод, среда выполнения и платформа → Простые или расширенные параметры → Средство запуска Windows EXE (по желанию) → Проверка вывода → Выполнение
1. Тип приложения
| Пункт интерфейса | Ввод | Вывод | Команда CLI |
|---|---|---|---|
| Java приложение | Обычный исполняемый JAR | Полный каталог приложения | javaapp |
| Spring Boot | Приложение Spring Boot | Полный каталог приложения | springboot |
| Tomcat WAR | WAR | Каталог со встроенным Tomcat | tomcat |
| Шифрование библиотеки | Любой JAR | Один архив P4JX | encode |
При неверном типе главный класс, зависимости, веб-ресурсы или средство запуска могут быть обработаны неправильно.

2. Ввод, среда выполнения и целевые платформы
За один проход мастер обрабатывает один JAR или WAR. Далее выбираются:
- Версия Java: 8, 11, 17, 21 или 25. По умолчанию — 21.
- Целевые платформы: можно выбрать сразу несколько.
- Режим: простой или расширенный.
- Создать EXE приложения для Windows: по желанию; требуется хотя бы одна целевая платформа Windows.
Если выбрано несколько платформ, для каждой создаётся отдельный каталог.

3. Простой режим
Простой режим подходит почти для любой первой сборки. При выходе со страницы ввода выполняется сканирование совместимости, по результатам которого определяются:
- классы, которые рекомендуется исключить;
- нужно ли включать JavaFX и WebView;
- нужно ли включать ZIP-слой для сканеров;
- нужно ли переходить на суффикс архива
.jar; - какой макет использовать для Spring Boot;
- использовать Tomcat 9 или 10.1.
Сканирование даёт рекомендации на основе статического анализа, а не результаты реального запуска. Собранное приложение обязательно проверьте на целевой платформе.
4. Расширенный режим
В расширенном режиме можно вручную задать суффикс архива, решить, отключать ли JIT, добавить слой для сканеров, задать параметры JVM, определить правила исключения и настроить параметры, свойственные каждому типу приложения.
Полные указания, значение каждого параметра, значения по умолчанию и различия между типами приложений приведены в разделе Настройки расширенного режима Protector4J.

5. Средство запуска Windows EXE
Если на странице ввода отметить Создать EXE приложения для Windows (x64/x86/ARM64), мастер добавит страницу средства запуска после страницы параметров. Этот флажок расположен до разветвления на простой и расширенный режим, поэтому EXE можно получить в любом из них. Без флажка мастер сразу переходит к проверке вывода.
На странице средства запуска задаются:
- Имя файла EXE: если оставить пустым, берётся имя входного файла; для Tomcat используется
tomcat. - Режим средства запуска: консоль или графический режим без окна консоли.
- Значок Windows: необязательный файл
.ico. - Параметры запуска JVM: по одному в строке. При включённом EXE это поле появляется только здесь, а введённое записывается и в EXE, и в сценарии запуска.
- Сведения о версии Windows: версия файла, версия продукта, название компании, название продукта, описание файла и сведения об авторских правах.
Шифрование библиотеки выдаёт единственный файл архива, поэтому такого параметра там нет. Подробности — в разделе Создание средства запуска Windows EXE.
6. Правила исключения
В графическом интерфейсе и в командной строке используется одна и та же запись:
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 и одна или несколько целевых платформ;
- область защиты, совместимость и параметры сборки.
В комментариях файла приводятся и вызов p4j --task-file <файл>, и равнозначная командная строка. Электронная почта и пароль учётной записи в файл задания не записываются; без настоящих учётных данных во время выполнения получится пробная сборка.
Пункт Загрузить файл задания в верхней части окна повторно считывает YAML, восстанавливает задание и сразу открывает итоговую страницу. Прежние p4j-encrypt-run.sh и .bat по-прежнему можно импортировать, но интерфейс больше не экспортирует сценарии запуска.