ToolProvider (Java SE 25 & JDK 25)
Description: declaration: module: java.compiler, package: javax.tools, class: ToolProvider
Keywords: javax.tools.ToolProvider class

# Class ToolProvider

java.lang.Object
javax.tools.ToolProvider

public class ToolProvider extends Object
Provides methods for locating tool providers, for example, providers of compilers. This class complements the functionality of `ServiceLoader`.

Since:
  1.6

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static DocumentationTool`
  `getSystemDocumentationTool()`
  Returns the Java programming language documentation tool provided with this platform.
  `static JavaCompiler`
  `getSystemJavaCompiler()`
  Returns the Java programming language compiler provided with this platform.
  `static ClassLoader`
  `getSystemToolClassLoader()`
  Deprecated.
  This method is subject to removal in a future version of Java SE.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### getSystemJavaCompiler

    public static JavaCompiler getSystemJavaCompiler()
    Returns the Java programming language compiler provided with this platform.

    The file manager returned by calling `getStandardFileManager` on this compiler supports paths provided by any filesystem.

    Implementation Note:
      This implementation returns the compiler provided by the `jdk.compiler` module if that module is available, and `null` otherwise.
    Returns:
      the compiler provided with this platform or `null` if no compiler is provided

  - ### getSystemDocumentationTool

    public static DocumentationTool getSystemDocumentationTool()
    Returns the Java programming language documentation tool provided with this platform.

    The file manager returned by calling `getStandardFileManager` on this tool supports paths provided by any filesystem.

    Implementation Note:
      This implementation returns the tool provided by the `jdk.javadoc` module if that module is available, and `null` otherwise.
    Returns:
      the documentation tool provided with this platform or `null` if no documentation tool is provided

  - ### getSystemToolClassLoader

    @Deprecated(since="9") public static ClassLoader getSystemToolClassLoader()
    Deprecated.
    This method is subject to removal in a future version of Java SE. Use the system tool provider or service loader mechanisms to locate system tools as well as user-installed tools.
    Returns a class loader that may be used to load system tools, or `null` if no such special loader is provided.
    Implementation Requirements:
      This implementation always returns `null`.
    Returns:
      a class loader, or `null`