【发布时间】:2013-04-08 11:08:10
【问题描述】:
我正在处理一个使用 ANT 将源代码构建到 EAR 中的项目。几年来,该项目已经发展到庞大的规模,超过五十个模块,毫不奇怪,构建源代码需要 2 个小时。
我做出的明显决定是将其迁移到模块化构建,使用 IVY 来管理 EAR 的子模块之间的依赖关系,因此我只构建已更改的模块,然后每次都打包一个新的 EAR。我一直在努力寻找一种找出这些子模块之间依赖关系的好方法。请注意,第 3 方依赖项很容易破解。我只是将这些子模块的 lib 文件夹中的所有内容移动到 IVY。但是,前者是我卡住的地方。 他们就是这样做的:
- 将所有模块的源代码复制到一个目录
- 将“一切”编译成 global.jar
- 将此 global.jar 添加到类路径中
- 此后构建每个单独的模块
现在我如何确定例如模块 C 依赖于模块 A 和 B,因此 A 和 B 应该作为前者的常春藤依赖项?一种方法是在eclipse中一次添加一个模块并尝试构建,然后消除由于缺少类而导致的失败;但是必须有比这更好的方法,我无法想象在接下来的一个月里会花上一个月的时间来解决这个问题:)
【问题讨论】:
-
您想使用 ivy 设置模块之间的依赖关系吗?你可以在这里阅读更多内容ant.apache.org/ivy/history/latest-milestone/ivyfile/…。
-
是的,这是最终目标;这里的问题是找到这些依赖项,以便我可以在 IVY 文件中定义它们;并给出上面当前的构建方法;我没有想到直接的方法。
标签: ant ivy dependency-management