Advertisement
krzys_h

Java compiler

Oct 2nd, 2015
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.91 KB | None | 0 0
  1. import java.net.*;
  2. import java.util.*;
  3. import javax.tools.*;
  4.  
  5. public class Compiler
  6. {
  7.     public static class StringJavaSource extends SimpleJavaFileObject
  8.     {
  9.         private final String code;
  10.  
  11.         public StringJavaSource(String name, String code)
  12.         {
  13.             super(URI.create("string:///" + name.replace('.', '/') + Kind.SOURCE.extension), Kind.SOURCE);
  14.             this.code = code;
  15.         }
  16.  
  17.         public CharSequence getCharContent(boolean ignoreEncodingErrors)
  18.         {
  19.             return code;
  20.         }
  21.     }
  22.  
  23.     public static void compile(String name, String code)
  24.     {
  25.         JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
  26.         compiler.getTask(null, null, null, null, null, Arrays.asList(new StringJavaSource(name, code))).call();
  27.     }
  28.  
  29.     public static void main(String[] args)
  30.     {
  31.         compile("Test", "public class Test {}");
  32.     }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement