代码之家  ›  专栏  ›  技术社区  ›  Ran Biron

测试在另一个测试期间生成的Java代码

  •  0
  • Ran Biron  · 技术社区  · 15 年前

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

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

    有什么想法吗?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Thomas Jung    15 年前

    你可以使用 JavaCompiler API 编译源文件并设置 classloader sample code ). tools.jar必须位于类路径上。如果使用JDK,情况就是这样。

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

        2
  •  0
  •   Andreas Dolk    15 年前

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

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