【发布时间】:2014-03-13 04:02:03
【问题描述】:
我有一堆项目。它们都必须具有相同的版本 = 分支目录名称(例如“7.15.0”)。
为了实现这一点,我用代码制作了一个父 pom:
<version>${branch}</version>
<properties>
<branch>${project.file.parentFile.parentFile.parentFile.name}</branch>
</properties>
我的大部分项目和子项目都在目录中,其中 ../.. 是分支目录。他们的 poms 包含以下内容:
<parent>
<groupId>parentPomGroupId</groupId>
<artifactId>parentPomArtifactId</artifactId>
<version>${branch}</version>
</parent>
但并非所有项目都处于同一级别,因此我必须控制并检查它们的位置,并在需要时添加到它们的 pom 正确分支路径:
<properties>
<branch>${project.file.parentFile.parentFile.name}</branch>
</properties>
在项目构建时,我在日志中看到:
[INFO] Building appcore-utils ${project.file.parentFile.parentFile.name}
如果我在分支中设置常量 - 日志包含版本。请告诉我,我怎样才能在我的父 pom 中只解析一次属性“分支”?因此,如果我在子项目中使用 ${branch},它会解析为常量,该常量已在父 pom.xml 中计算。或者也许还有另一种方法可以在项目版本中使用分支目录名称?
【问题讨论】:
标签: maven