Reputation: 14099
Is it possible for a program written in Java to compile a file using the JDK compiler (aside from using Java to open command prompt and throw the "javac" command at it to compile the file)?
Upvotes: 9
Views: 8057
Reputation: 75346
In Java 6 and onwards there is an API to use the compiler. This might be what you are looking for.
http://www.javabeat.net/2007/04/the-java-6-0-compiler-api/
http://docs.oracle.com/javase/6/docs/api/javax/tools/JavaCompiler.html
Note that you need a JDK to have the compiler available. JRE will not be enough. If that is a problem consider embedding the Eclipse Java compiler in your application.
Upvotes: 13
Reputation: 20583
Java 6 has a Compiler API Check out Java Compiler Class Javadoc
http://docs.oracle.com/javase/6/docs/api/javax/tools/JavaCompiler.html
and an example
http://www.javabeat.net/2007/04/the-java-6-0-compiler-api/
Upvotes: 10
Reputation: 1018
The Apache Byte Code Engineering Library is your friend.
http://commons.apache.org/bcel/
Upvotes: 3