Maven:分叉多模块项目并设置自定义标签

时间:2013-03-04 17:05:12

标签: java maven pom.xml

在从开源项目分支模块时与Maven战斗。源代码是一个具有以下结构的多模块Maven项目:

.
 |-- module-a
 |   `-- pom.xml
 |-- module-b
 |   `-- pom.xml
 |-- module-c
 |   `-- pom.xml
 |-- module-...
 |   `-- pom.xml
 `-- parent
     `-- pom.xml

分叉整个项目不是一个选择。我只需要分叉几个模块,例如module-amodule-b

版本控制应跟踪原始数字,在末尾附加后缀:-${org}-${inc},其中:

  • ${org}是组织的名称(已修复)
  • ${inc}是一个序数,每当我们发布从同一社区版本派生的项目时,我们就会增加。

通过保留父引用,我将链接保留回原始项目。所以我的fork继承自社区的父POM。

问题出现是因为社区父POM使用<version>${project.version}</version>声明所有子工件共享内部依赖项。

因此,将我的fork版本设置为类似:3.10.1-org-01的方法不起作用,因为构建需要其他相关工件,我不需要将这些工件与版本3.10.1-org-01一起出现。

finalName设置为${project.artifactId}-${project.version}-${org}-${inc}之类的东西也无济于事,因为即使工件在构建输出目录(目标/)中显示正确的名称,它仍会安装到使用旧名称的Maven repo,从而覆盖了社区版本并创造了一个不真实的现实。

在这种情况下,我还没有办法让分类器成为我的朋友。

除了分支社区父POM和定制分叉模块的依赖版本号之外,还有什么想法?

谢谢!

0 个答案:

没有答案