如何在IDEA中构建时自动生成JAXB类?

时间:2017-02-12 21:37:33

标签: intellij-idea xsd jaxb

我有一个IDEA项目,它使用来自.xsd文件的自动生成的JAXB类。我有“客户端”和“服务器”模块,其中包含一个“公共”模块,其中包含JAXB类。

我不想将生成的代码保留在源代码管理下,但如果生成的java类不存在,则“client”和“server”模块不会编译。如何使IntelliJ在构建之前自动运行JAXB?

2 个答案:

答案 0 :(得分:1)

没有直接的方法只能使用IntelliJ IDEA,您需要使用Ant或Maven或其他一些将执行代码生成的外部进程。

查看jaxb2-maven-plugin

在IntelliJ IDEA中,您可以在编译之前执行Maven或Ant。

答案 1 :(得分:0)

在构建系统的工具窗口中,您可以将阶段或插件目标绑定到IDEA的构建过程。

例如,jaxb2-maven-plugin可以在重建之前或在构建之前通过双击目标来执行:

Bind lifecycle phase to IDEA's build system

另一种选择是将目标绑定到生命周期阶段,并在重建之前执行“ generate-sources”之类的阶段。如果是jaxb2-maven-plugin,则目标xjc默认绑定到Maven的generate-sources阶段。