【发布时间】:2014-07-11 19:29:23
【问题描述】:
我正在将 ant 项目迁移到 maven,这个项目很不寻常:它使用两个编译步骤和这些编译步骤之间的代码生成步骤。整个构建过程可以描述如下:
- 编译src目录下的所有东西
- 运行内部 java 工具,将 java 指向已编译的类和用于编译这些类的 jar。该工具使用反射基于编译的类生成代码。
- 编译生成的类,最后组装一个 jar。
我找到了一些建议创建自定义生命周期的链接,但我不知道从哪里开始。 如果有人能指出类似的项目配置,那就太好了。
用 maven 实现这一目标的最简单方法是什么? 我想我应该使用 ant maven 插件,但我仍然不明白如何让它编译两次源并在第一个编译步骤后将其指向生成的源。
【问题讨论】:
-
我希望你能从 Maven 中获得一些好处,以换取这种头痛。
-
我真正想从 maven 获得的唯一东西是它的依赖管理。现代 maven 也能够进行并行构建。
-
可能值得关注 Ivy 的依赖管理。对于具有异常构建流程的现有 Ant 项目,Ant+Ivy 可能是比直接迁移到 Maven 更简单的迁移路径。无论如何,祝您迁移顺利!
-
感谢 Ivy 的指点,但我必须坚持使用 maven,因为许多其他项目已经使用了它。如果有人感兴趣——目前我决定坚持使用多模块项目配置——这不是一个理想的解决方案,但它看起来是一种简单的方法来做我想做的事。虽然我仍然没有放弃为 maven 找到一个干净、更好的解决方案的希望。