在Java中,可以在运行时从字符串中包含的源代码编译和加载类(例如使用javax.tools.JavaCompiler,EclipseCompiler或Janino)。此过程可以完全在内存中,而无需编写任何临时文件。
Xtend语言的工作原理是将Xtend源代码转换为Java源代码,然后进行编译。 (如果我错了,请纠正我。)是否可以将包含Xtend源代码的字符串转换为包含Java源代码的字符串,以便随后可以使用我喜欢的动态编译器?我想在运行时将Xtend源变成可加载的类*。如果可能的话,您需要调用哪些函数/类?
*运行时=仅使用Xtend dependencies,没有Eclipse-IDE,没有JDK(仅JRE)。
最佳答案
Xtend有一个Maven插件。它利用XtendBatchCompiler。应该可以从纯Java,ANT等中调用它。