有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

maven 2测试在另一个测试中生成的Java代码

我想在我的模型上构建一个“toJavaCode()”,它将生成生成该模型所需的Java源代码(不管是什么原因,或者是否应该这样做,也不管可能发生的兼容性问题)

我不知道如何测试这个。我使用的是maven,但生成源代码对我来说并不能真正起作用,因为我的服务器需要进行适当的批量测试。我确实在“测试”目标期间启动了服务器,但生成源代码还为时过早

另一方面,虽然我可以使用内置编译器(来自JDK中的tools.jar)来实现这一点,但我不知道如何将其打包到jar中进行测试(或加载该jar)

有什么想法吗


共 (2) 个答案

  1. # 1 楼答案

    您可以使用JavaCompiler API编译源文件,并设置classloader在测试(sample code)中加载已编译的类。工具。jar必须位于类路径上。如果使用JDK,情况就是这样

    如果生成的代码对于任何给定类都是稳定的,那么可以使用annotation processor生成源代码,并在与注释类相同的javac运行中编译它

  2. # 2 楼答案

    您可以将ant任务添加到maven中。在maven构建过程中,这是一种“打破传统秩序”的方法。比如将javacant任务添加到mavens测试目标中

    (对不起,我和你的评论员马特b一样困惑——但是嵌入式蚂蚁任务是你的瑞士军刀。)