我有一个IDEA项目,它使用来自.xsd文件的自动生成的JAXB类。我有“客户端”和“服务器”模块,其中包含一个“公共”模块,其中包含JAXB类。
我不想将生成的代码保留在源代码管理下,但如果生成的java类不存在,则“client”和“server”模块不会编译。如何使IntelliJ在构建之前自动运行JAXB?
答案 0 :(得分:1)
没有直接的方法只能使用IntelliJ IDEA,您需要使用Ant或Maven或其他一些将执行代码生成的外部进程。
在IntelliJ IDEA中,您可以在编译之前执行Maven或Ant。
答案 1 :(得分:0)
在构建系统的工具窗口中,您可以将阶段或插件目标绑定到IDEA的构建过程。
例如,jaxb2-maven-plugin可以在重建之前或在构建之前通过双击目标来执行:
另一种选择是将目标绑定到生命周期阶段,并在重建之前执行“ generate-sources”之类的阶段。如果是jaxb2-maven-plugin,则目标xjc默认绑定到Maven的generate-sources阶段。