我正在将一个蚂蚁项目转换为一个蚂蚁项目。这个项目与我经常转换的项目不同,因为它经常发布,通常每天8-10次。
按发布我的意思是生成的罐子被包装并包含在生产环境中。这个项目是一个 leaf ,因此它不发布API,它只使用它。对于其他两个项目,它最多也是 runtime 依赖项。
我想要一个版本控制方案:
很可能依赖版本不是-SNAPSHOT
,因为这会与我们用于其他项目的maven-release-plugin
冲突,但我愿意接受建议。
答案 0 :(得分:5)
实际上,您可以使用x-SNAPSHOT
版本并仍使用maven-release-plugin。只需在mvn release:prepare
之前使用mvn release:perform
来准备发布,并将poms中的版本从x-SNAPSHOT
更改为新版本(系统将提示您输入要使用的版本)。您可以查看此introduction到maven-release-plugin,以快速了解release:prepare
和release:perform
。
然后,要包含最新版本而不经常更新依赖项版本,您可以使用依赖关系范围,如下面的代码片段,我们在其中指定范围Junit 3.8 - Junit 4.0:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>[3.8,4.0)</version>
<scope>test</scope>
</dependency>
不需要逗号之前或之后的版本,并且表示+/-无穷大。例如,[4.0,)
表示任何大于或等于4.0的版本。
就个人而言,我不喜欢使用依赖范围,因为我发现它可能导致构建可重现性问题并使构建更加脆弱。
但是你可能有充分的理由使用它们。