java - 如何处理maven内部依赖?
问题描述
有人可以让我知道处理 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 也是如此。
解决方案
您需要一个多模块 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
推荐阅读
- excel - 使字符串中的多个但单独的字符变为粗体
- html - How would I make this div responsive
- reactjs - Enzyme - how to test that a child receives context
- javascript - add small text in select option html
- php - Getting obj from array in PHP
- javascript - Regex replacement of a partial string inside JS file
- javascript - 在visualforce页面上点击第一个按钮激活第二个按钮
- python - scrapy_splash 抓取了 0 件商品
- python - 如何减少字典的内存占用?
- laravel - npm 不构建最新文件