[英]Maven SNAPSHOT are taken into account as RELEASE
我有用maven编译的Java项目。 每个项目都有自己的POM,如下所示:
<project ...>
<groupId>group.id</groupId>
<artifactId>scripts</artifactId>
<version>1.0.1-SNAPSHOT</version>
...
<dependencies>
<dependency>
<groupId>global</groupId>
<artifactId>common</artifactId>
<version>10.2.3-SNAPSHOT</version>
</dependency>
</dependencies>
...
</project>
SNAPSHOT作为发布
如果我执行mvn install
,它将在我第一次执行命令时编译/安装它。 下次,它不会安装它。 它认为maven认为它是一个RELEASE ,它们都是SNAPSHOT 。 我可以在安装包中包含的时间戳中看到。 如果我不更改版本号,时间戳也不会更改。
我相信我错过了maven配置,但这对我们的开发产生了很大影响,因为我们强制要求为每个测试部署更改项目版本(及其依赖性)。
注意:我正在使用maven 3.3.3。 看起来我在3.1.0中没有这种行为(我不是100%肯定旧版本。无论如何都很老)。 Maven与Nexus配合使用。 也许这个问题来自它,我正专注于错误的马。
谢谢你的提示。
编辑:问题是:我怎样才能让maven每次都安装SNAPSHOT而不是第一次像RELEASE一样?
编辑已解决
我们总是用mvn install
来编译和安装源代码。 出于某种原因,我们还没有使用mvn clean
命令。 重新编译所有源的正确maven命令是mvn clean install
。
谢谢@VinayVeluri
如果代码更改需要版本,请自行编写代码库版本,尽管它很麻烦,但却提供了版本控制的想法。
如果必须自动关于快照更新,请使用
mvn -u clean install
添加后,此命令行arg强制Maven检查远程存储库中的所有快照,并在其过期时更新本地存储库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.