Có thể cho một chương trình được viết bằng Java để biên dịch một tệp bằng trình biên dịch JDK (ngoài việc sử dụng Java để mở dấu nhắc lệnh và ném lệnh "javac" vào nó để biên dịch tập tin)?Biên dịch một tệp Java ... bằng một chương trình Java
6
A
Trả lời
12
Trong Java 6 trở đi có một API để sử dụng trình biên dịch. Đây có thể là những gì bạn đang tìm kiếm.
http://www.javabeat.net/2007/04/the-java-6-0-compiler-api/
http://docs.oracle.com/javase/6/docs/api/javax/tools/JavaCompiler.html
Lưu ý rằng bạn cần một JDK có trình biên dịch sẵn. JRE sẽ không đủ. Nếu đó là một vấn đề, hãy xem xét việc nhúng trình biên dịch Java Eclipse vào ứng dụng của bạn.
3
Thư viện kỹ thuật mã byte của Apache là bạn của bạn.
10
Java 6 có một API Compiler Kiểm tra Java Compiler Lớp Javadoc
http://docs.oracle.com/javase/6/docs/api/javax/tools/JavaCompiler.html
và một ví dụ
Mã tại http://www.javabeat.net/2007/04/the-java-6-0-compiler-api/ ném cho tôi một 'NullPointerException': o – Bluefire
Và bạn sử dụng một " java.exe "tìm thấy trong một JDK? –