【发布时间】:2020-05-25 23:46:06
【问题描述】:
有人可以告诉我处理 maven 项目内部依赖项的简单方法吗?现在我有以下事情。
- MainPorject 依赖于项目 A、B 和 C - Fat jar
- 项目 A 需要项目 B 进行编译 - Thin Jar
- 并且项目 b 依赖于项目 c 的编译 - Thin Jar
现在,我从各自的 repos 中手动编译来自 A、B 和 C 项目的所有 jar 文件,并将其放入 mainProject 以创建 fat jar。
有没有一种方法可以提供配置,当我编译 mainProject 时它会自动获取最新的代码 A、B 和 C 存储库?项目 A 和项目 B 也是如此。
【问题讨论】:
-
我认为你必须像stackoverflow.com/a/15383584/2880879 中描述的那样构建项目 A B 和 C。如果您想为每个构建获取最新代码,那么您需要某种 CI 工具,例如 Jenkins 和 GoCD 等,但这不适用于开发环境。有关多模块 maven 项目结构构建示例的更多信息参考books.sonatype.com/mvnex-book/reference/multimodule.html
-
如果您在正确配置的项目 A、B、C、MainProject 中拥有所有项目源,如之前的评论所建议的那样,并且它们在您构建之前是最新的(类似于 git pull不到一分钟),你不应该再需要任何东西了。当使用 A,B,C 作为 mainProject 的模块依赖项时,它们将在用于编译 mainProject 之前按照正确的顺序编译。