Руководство по использованию GUI

GUI выполняет задачи защиты с помощью мастера; последовательность действий следующая:

Тип приложения → Ввод/во время выполнения/платформа → Простые или продвинутые параметры → Подтверждение вывода → Выполнение

1. Тип приложения

Параметры GUIВводВыводСоответствующий CLI
Java ApplicationОбычный исполняемый JARПолный каталог приложенияjavaapp
Spring BootПриложение Spring BootПолный каталог приложенияspringboot
Tomcat WARWARКаталог встроенного Tomcattomcat
Library EncryptionЛюбой JAR-файлОдно архивное сжатие P4JXencode

Неправильный выбор типа может привести к тому, что главный класс, зависимости, веб-ресурсы или стартер не будут обрабатываться корректно.

Страница типов приложений

2. Ввод, время выполнения и целевая платформа

В ходе одной из задач-маршрутов необходимо выбрать файл JAR или WAR. Затем следует выбрать:

  • Bundled Java version:8, 11, 17, 21 или 25, по умолчанию 21.
  • Target platforms: Можно выбрать несколько платформ за один раз.
  • Mode: простой режим или продвинутый режим.

При выборе нескольких платформ инструмент создаёт отдельный каталог для каждой из них.

Страница «Ввод», «Версия Java» и «Целевая платформа»

3. Простой режим

Простой режим подходит для подавляющего большинства задач по первичной упаковке. При покидании страницы ввода инструмент автоматически выполняет сканирование совместимости и на основе полученных результатов выбирает подходящий вариант:

  • Классы, рекомендуемые к исключению;
  • Включение JavaFX и WebView;
  • Включение функции сканирования ZIP overlay;
  • Замена суффикса на .jar;
  • Рекомендуемая конфигурация для Spring Boot;
  • Tomcat 9 или 10.1.

Результаты сканирования представляют собой рекомендации, полученные в ходе статического анализа, и не являются полными тестами в режиме работы. После пакетирования тестирование приложения всё равно следует проводить на целевой платформе.

4. Режим продвинутого использования

В режиме продвинутого использования можно вручную настроить суффикс архива, определить, отключать ли JIT, добавить слой scanner overlay, настроить параметры JVM, установить правила исключения, а также специальные опции для различных типов приложений.

Подробную инструкцию по использованию, значение параметров, значения по умолчанию и различия между типами приложений смотрите в Настройки режима «Продвинутый» для Protector4J.

Расширенные параметры для обычных Java-приложений

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.sh
  • p4j-encrypt-run.bat

Скрипт вызывает установленную команду p4j и сохраняет текущие разрешённые параметры. Электронная почта и пароль учётной записи не записываются в файл.

С помощью элемента Load Task File в верхней части окна можно перезагрузить скрипт и восстановить задание, после чего перейти непосредственно на страницу окончательного подтверждения. Если у старых скриптов отсутствуют метаданные задания, интерфейс попытается обработать команду p4j, содержащуюся в них.