An important usage would be to find the compiler that is available in the current context. The method getSystemJavaCompiler()
returns the Java compiler if available or else returns null.
import javax.tools.*;
public class JavaxTools
{
public static void main(String[] args)
{
JavaxTools javaxTools = new JavaxTools();
javaxTools.proceed();
}
private void proceed()
{
System.setProperty( "java.home", "/usr/bin/java/jdk1.8.0_102");
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
System.out.println(compiler);
}
}
/*
Expected output:
[root@mypc]# java JavaxTools
com.sun.tools.javac.api.JavacTool@7d4991ad
Note: The output need not be same as the one specified here */