tanakahdaのプログラマ手帳

プログラミングとかソフトウェア開発とかの備忘録

javax.tools.JavaCompilerでコンパイルするときにクラスパスを指定する@Java

javax.tools.JavaCompilerでコンパイルするときに外部jarにクラスパスを通して実行する方法を調査。

javax.tools.JavaCompilerのオプションで"-cp"または"-classpath"を指定する。例えば、以下のように書くことができる。

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
String[] options = new String[]{"-cp", "lib/mylib.jar"};
compiler.run(null, null, null, options, "MyClass.java");

これで、lib/mylib.jarに含まれるクラスをMyClass.javaで利用できる。