我的代码需要编译java源代码,而我现在正在使用JavaCompiler API,当在没有JDK的计算机上运行时,它会返回null。我意识到我可以用我的程序打包JDK,但是超过100mb,用一个小程序包含它会非常大。我一直在寻找第三方编译器,最好比JDK小,如果有人知道可以添加到我的程序中的那个,我会很感激。 (我打算使用Runtime脚本通过命令行用它来编译一组文件。)
答案 0 :(得分:0)
结帐this project。我自己没有使用它,但它看起来像你在寻找。
答案 1 :(得分:0)
您真的需要编译整个Java源文件,还是只编译单个方法?如果是后者,Javassist可以使用CtMethod.make完成您所需的操作。这是pretty straightforward。
Javassist并不小 - 它大约是650 kB - 但它比JDK小。