kanizaのブログ

コンピュータ、ソフトウェア、映画、音楽関連や家族のことなど、思いついたことを書きます。

Java Compiler API

Java 6から実装されたJava Compiler API(javax.tools)を使ってみた。以前はJavaプログラムからコンパイラを使いたくても、javacは配布可能なJREには含まれていなかったから別の方法をとるしかなかった。

JavaCompiler、JavaFileSystemManager、JavaFileObjectなど、いろんなクラスやインタフェースが組み合わさっているなかなか複雑なAPIだ。

とりあえずJavaCompilerのAPIドキュメントを見るとだいたいわかるようになっている。プログラムでStringにソースコードを入れて、それを直接コンパイラの入力とするJavaFileObject実装も例として紹介されていて助かる。