Интерфейс плагина
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, 2021, 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/17/docs/api/jdk.compiler/com/sun/source/util/Plugin.html