Spec-Zone.ru › OpenJDK 25

Пакет javax.tools

package javax.tools
Предоставляет интерфейсы для инструментов, которые можно вызывать из программы, например компиляторов.

Эти интерфейсы и классы входят в состав Java Platform, Standard Edition (Java SE), однако предоставлять какие-либо инструменты, реализующие их, не требуется.

Если это явно не разрешено, все методы в этом пакете могут выбрасывать NullPointerException, если им передан аргумент null или если им передан список или коллекция, содержащие элементы null. Аналогично, ни один метод не может возвращать null, если это явно не разрешено.

В этом пакете находится платформа компилятора языка программирования Java. Она позволяет клиентам находить и запускать компиляторы из программ. Платформа также предоставляет интерфейсы поставщиков служб (SPI) для структурированного доступа к диагностическим сообщениям (DiagnosticListener), а также абстракцию файлов для переопределения доступа к файлам (JavaFileManager и JavaFileObject). Дополнительные сведения об использовании SPI см. в разделе JavaCompiler.

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

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

Альтернативные компиляторы или инструменты можно предоставлять с помощью механизма поставщиков служб.

Например, если com.vendor.VendorJavaCompiler является поставщиком инструмента JavaCompiler, его JAR-файл будет содержать файл META-INF/services/javax.tools.JavaCompiler. Этот файл будет содержать единственную строку:

com.vendor.VendorJavaCompiler

Если JAR-файл находится в пути к классам, VendorJavaCompiler можно найти с помощью такого кода:

JavaCompiler compiler = ServiceLoader.load(JavaCompiler.class).iterator().next();
С версии:
1.6
Класс Описание
Diagnostic<S>
Интерфейс для диагностических сообщений инструментов.
Diagnostic.Kind
Типы диагностических сообщений, например ошибка или предупреждение.
DiagnosticCollector<S>
Предоставляет удобный способ собирать диагностические сообщения в список.
DiagnosticListener<S>
Интерфейс для получения диагностических сообщений от инструментов.
DocumentationTool
Интерфейс для вызова из программ средств документирования языка программирования Java.
DocumentationTool.DocumentationTask
Интерфейс, представляющий будущую задачу документирования.
DocumentationTool.Location
Расположения, относящиеся к DocumentationTool.
FileObject
Абстракция файла для инструментов.
ForwardingFileObject<F extends FileObject>
Перенаправляет вызовы указанному файловому объекту.
ForwardingJavaFileManager<M extends JavaFileManager>
Перенаправляет вызовы указанному файловому менеджеру.
ForwardingJavaFileObject<F extends JavaFileObject>
Перенаправляет вызовы указанному файловому объекту.
JavaCompiler
Интерфейс для вызова из программ компиляторов языка программирования Java.
JavaCompiler.CompilationTask
Интерфейс, представляющий будущую задачу компиляции.
JavaFileManager
Файловый менеджер для инструментов, работающих с исходными файлами и файлами классов языка программирования Java.
JavaFileManager.Location
Интерфейс для расположений файловых объектов.
JavaFileObject
Абстракция файла для инструментов, работающих с исходными файлами и файлами классов языка программирования Java.
JavaFileObject.Kind
Типы объектов JavaFileObject.
OptionChecker
Интерфейс для распознавания параметров.
SimpleJavaFileObject
Предоставляет простые реализации большинства методов JavaFileObject.
StandardJavaFileManager
Файловый менеджер на основе java.io.File и java.nio.file.Path.
StandardJavaFileManager.PathFactory
Фабрика для создания объектов Path из строк.
StandardLocation
Стандартные расположения файловых объектов.
Tool
Общий интерфейс для инструментов, которые можно вызывать из программы.
ToolProvider
Предоставляет методы для поиска поставщиков инструментов, например поставщиков компиляторов.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.compiler/javax/tools/package-summary.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API