2
私はこのコードを見つけた:Javaプログラム内から.javaファイルをコンパイルしますか?
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
if(compiler.run(null, null, null, fileName) != 0) {
System.err.println("Could not compile.");
System.exit(0);
}
はしかし、これはNullPointerExceptionが
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at net.foxycorndog.foxy.compiler.Compiler.compile(Compiler.java:25)
at net.foxycorndog.foxy.compiler.Parser.parse(Parser.java:41)
at net.foxycorndog.foxy.Foxy$ActionHandler.actionPerformed(Foxy.java:99)
を返す私は、JREは、Javaプログラム内でコンパイルする機能が含まれていないことを読みますが、JDKはありません。
JREの代わりにJDKライブラリへのパスを手動で設定しなければならない数台のコンピュータでしか動作しないプログラムは望ましくありません。これを念頭において、この問題の回避策はありますか?
可能であれば、クロスプラットフォームで作業したいと思います。