Интерфейс плагина
public interface Plugin
Механизм плагинов javac позволяет пользователю указать один или несколько плагинов в командной строке javac, которые будут запущены сразу после начала компиляции. Плагины идентифицируются удобным для пользователя именем. Каждый запущенный плагин получит массив строк, который может использоваться для предоставления плагину значений для любых необходимых параметров или других аргументов.
Плагины находятся через ServiceLoader, используя ту же файловую систему, что и обработчики аннотаций (т.е. ANNOTATION_PROCESSOR_PATH или -processorpath).
Ожидается, что типичный плагин просто зарегистрирует TaskListener, чтобы быть проинформированным о событиях во время выполнения компиляции, а остальная работа будет выполнена обработчиком задач.
- Since:
- 1.8
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default boolean |
autoStart() |
Возвращает, следует ли автоматически запускать этот плагин, даже если он не указан явно в параметрах командной строки. |
String |
getName() |
Возвращает имя этого плагина, удобное для пользователя. |
void |
init |
Инициализирует плагин для заданной задачи компиляции. |
Подробное описание методов
getName
String getName()
- Возвращает:
- имя плагина, удобное для пользователя
init
void init(JavacTask task, String... args)
- Параметры:
-
task- Задача компиляции, которая только что началась -
args- Аргументы, если есть, для плагина
autoStart
default boolean autoStart()
Этот метод будет вызван javac для всех плагинов, найденных с помощью загрузчика сервисов. Если метод возвращает true, плагин будет initialized с пустым массивом строковых аргументов, если он не был инициирован другим способом из-за явного параметра командной строки.
- Возвращает:
- следует ли автоматически запускать этот плагин
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.compiler/com/sun/source/util/Plugin.html