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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.