9

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

3 Answers 3

13

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.

Sign up to request clarification or add additional context in comments.

2 Comments

The code at javabeat.net/2007/04/the-java-6-0-compiler-api throws me a NullPointerException :o
And you use an "java.exe" found in a JDK?
10

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/

Comments

3

The Apache Byte Code Engineering Library is your friend.

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

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.