首页 > 解决方案 > 如何处理maven内部依赖?

问题描述

有人可以让我知道处理 Maven 项目内部依赖项的简单方法。现在我有以下事情。

  1. MainPorject依赖于项目A、B 和 C - Fat jar
  2. 项目 A 需要项目 B 进行编译 - Thin Jar
  3. 并且项目 b 在编译时依赖于项目 c - Thin Jar

现在,我从各自的 repos 中手动编译来自 A、B 和 C 项目的所有 jar 文件,并将其放入 mainProject 以创建 fat jar。

有没有一种方法可以提供配置,当我编译 mainProject 时,它会自动获取最新的代码 A、B 和 C 存储库?项目 A 和项目 B 也是如此。

标签: javascalamaven

解决方案


您需要一个多模块 Maven 项目,使用以下设置:

<!-- parent -->
<groupId>com.stackoverflow</groupId>
<artifactId>parent</artifactId>
<version>1.0.0</version>

<modules>
  <module>C</module>
  <module>B</module>
  <module>A</module>
  <module>Bundle</module>
</modules>

<!-- each module, optionally, if you want to let parent manage the dependency versions -->
<parent>
  <groupId>com.stackoverflow</groupId>
  <artifactId>parent</artifactId>
  <version>1.0.0</version>
  <relativePath>../pom.xml</relativePath>
</parent>

Parentpom.xml位于根目录中,A、B、C、Bundle 是根目录的直接子级。

<root>
|   pom.xml
|
+---A
|       pom.xml
|
+---B
|       pom.xml
|
+---Bundle
|       pom.xml
|
\---C
        pom.xml

推荐阅读