Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compile a Java file... with a Java program

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)?

like image 413
Bluefire Avatar asked Aug 18 '12 13:08

Bluefire


3 Answers

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.

like image 177
Thorbjørn Ravn Andersen Avatar answered Oct 20 '22 11:10

Thorbjørn Ravn Andersen


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/

like image 30
Dungeon Hunter Avatar answered Oct 20 '22 12:10

Dungeon Hunter


The Apache Byte Code Engineering Library is your friend.

http://commons.apache.org/bcel/

like image 3
Dan Avatar answered Oct 20 '22 10:10

Dan