基于Maven的代码生成器

时间:2011-11-02 19:55:44

标签: java eclipse maven xdoclet

我需要在Eclipse项目中有一个config.xml文件,并将该文件用作Maven目标的输入。该目标将使用config.xmlgenerated/目录下(也在我的项目中)自动生成代码(包括XML和Java)。

因此:

MyProject/
    src/main/config
        config.xml
    src/main/java
        (All my Java source)
    (rest of my project)
    generated
        source/
            java/
            xml/

因此,Maven目标将在任何compile - 或build相关目标开始之前启动,并会使用config.xml填充generated/source/*目录,因为我需要它们。然后,这些来源可供后续目标处理。

这样的工具是否存在?我能找到的最接近的工具是XDoclet,但我有两个问题:

  1. 我不知道它有多灵活;也就是说,我可以将自己的配置“东西”放在config.xml中,给XDoclet一个XSD并让它进入城镇;以下更多内容
  2. 似乎无法找到任何Maven目标/插件
  3. 关于第一个项目/问题,我的意思是这样的:理想情况下,我想将任何类型的XML放在config.xml中。那么,这个理想的工具应该只需要一个用于该XML的XSD,以及一些XSLT(或类似的)来确定如何从配置文件中找到的XML自动生成代码。

    我不确定XDoclet是否允许这种灵活性。

    有任何想法或建议吗?这里必须有的东西!提前谢谢,

2 个答案:

答案 0 :(得分:1)

XDoclet非常灵活,但它的目的是处理java源并从中生成一些东西。如果你从一些xml开始,你最好的选择是XSLT转换 - xdoclet不适合这个。

答案 1 :(得分:0)

我使用antrun和与Ant一起使用的xslt任务来生成其他代码工件。然后使用build-helper插件将生成的文件夹添加到源文件夹列表中。这应该为您提供最灵活的编写代码的基础,并且也可以使用m2e(尽管您需要自己运行maven generate-sources,因为它还没有自动运行,因为它还没有连接器)。