Java Compiler compileClass() Method



Description

The Java Compiler compileClass() method compiles the specified class.

Note − This API is deprecated since Java 9 and is not available Java 21 onwards.

Declaration

Following is the declaration for java.lang.Compiler.compileClass() method

public static boolean compileClass(Class<?> clazz)

Parameters

clazz − This is a class.

Return Value

This method returns true if the compilation succeeded; false if the compilation failed or no compiler is available.

Exception

NullPointerException − if clazz is null.

Preparing a Command for a Compiler Example

The following example shows the usage of java.lang.Compiler.compileClass() method. In this program, we've created two classes CompilerDemo and SubClass1. In main method, instances of CompilerDemo and SubClass1 are created. Using getClass() method, we've retrieved their classes. Now using compileClass() method, we've compiled the SubClass1 Class and result is printed.

package com.tutorialspoint;

public class CompilerDemo {

   public static void main(String[] args) {

      CompilerDemo cls = new CompilerDemo();
      CompilerDemo subcls = new SubClass1();

      // class CompilerDemo
      Class c = cls.getClass(); 
      System.out.println(c);

      // sub class SubClass1
      Class c1 = subcls.getClass();
      System.out.println(c1);

      /* returns false if the compilation failed or no compiler is 
         available */
      boolean retval = Compiler.compileClass(c1);

      System.out.println("Return Value = " + retval); 
   }
} 

class SubClass1 extends CompilerDemo {
   // sub class
} 

Output

Let us compile and run the above program, this will produce the following result −

class com.tutorialspoint.CompilerDemo
class com.tutorialspoint.SubClass1
Return Value = false
java_lang_compiler.htm
Advertisements