Spec-Zone.ru › OpenJDK 24

Пакет 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();
Since:
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
Менеджер файлов для инструментов, работающих с исходными и class-файлами языка программирования Java.
JavaFileManager.Location
Интерфейс для местоположений объектов файлов.
JavaFileObject
Файловая абстракция для инструментов, работающих с исходными и class-файлами языка программирования Java.
JavaFileObject.Kind
Виды JavaFileObject.
OptionChecker
Интерфейс для распознавания параметров.
SimpleJavaFileObject
Предоставляет простые реализации для большинства методов в JavaFileObject.
StandardJavaFileManager
Менеджер файлов, основанный на java.io.File и java.nio.file.Path.
StandardJavaFileManager.PathFactory
Фабрика для создания Path объектов из строк.
StandardLocation
Стандартные местоположения объектов файлов.
Tool
Общий интерфейс для инструментов, которые могут быть вызваны из программы.
ToolProvider
Предоставляет методы для поиска поставщиков инструментов, например, поставщиков компиляторов.

© 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://download.java.net/java/early_access/jdk24/docs/api/java.compiler/javax/tools/package-summary.html

Spec-Zone.ru

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