Dim*_*ima 6 aggregation dependency-management maven multi-module maven-release-plugin
让我们说我们有3层项目.数据库,业务,Web和聚合pom.
Project
|-DB
| |-pom.xml
|-Business
| |-pom.xml
|-pom.xml
Run Code Online (Sandbox Code Playgroud)
所有模块都可以一起发布和分支,因此Aggregator pom配置为为所有子模块分配相同的版本.我们有以下版本:
DB-0.1-SNAPSHOT
Business-0.1-SNAPSHOT which depends on DB-0.1-SNAPSHOT
Web-0.1-SNAPSHOT which depends on Business-0.1-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)
这样做时release:prepare,所有版本都更新为0.1,但是准备失败,因为还没有DB-0.1依赖.
一种解决方案是为每个模块创建不同的项目,并逐个释放它们,同时使用versions:use-releases插件将依赖项更新为0.1
但我不喜欢这个想法,因为它需要大量的配置和脚本.所以,我更喜欢使用的聚集和释放与单个命令所有模块,但问题是,正如我上面写的,当发布插件试图建立Business-0.1没有DB-0.1在版本库中.
有没有办法管理这些项目间的依赖关系?
谢谢.
UPD:
甚至安装目标失败.
我正在使用maven 3.0.2并发布插件2.1
您的项目应该仅在父(项目)中定义版本一次。并让所有其他模块都有父关系。这意味着您没有聚合。相反,您有一个多模块构建。
Project
|-pom.xml (version 0.1-SNAPSHOT)
|-DB
| |-pom.xml (parent: ..)
|-Business
| |-pom.xml (parent:..)
Run Code Online (Sandbox Code Playgroud)
这将解决您的问题(也许您可以看一下这里作为示例)。
| 归档时间: |
|
| 查看次数: |
11404 次 |
| 最近记录: |