Java Maven快照在发布时被考虑在内
我有用maven编译的Java项目。每个项目都有自己的POM,如下所示:Java Maven快照在发布时被考虑在内,java,maven,nexus,snapshot,Java,Maven,Nexus,Snapshot,我有用maven编译的Java项目。每个项目都有自己的POM,如下所示: <project ...> <groupId>group.id</groupId> <artifactId>scripts</artifactId> <version>1.0.1-SNAPSHOT</version> ... <dependencies> <dep
<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>
组id
剧本
1.0.1-快照
...
全球的
常见的
10.2.3-快照
...
快照作为发行版
如果我执行mvn安装
,它将在我第一次执行命令时编译/安装它。
下次,它不会安装它。它认为Maven认为它是<强>发布<强>,它是一个<强>快照< /强>。
我可以在安装包中包含的时间戳中看到这一点。如果我不更改版本号,时间戳也不会更改
我相信我错过了maven配置,但这会对我们的开发产生很大影响,因为我们不得不为每个测试部署更改项目版本(及其依赖性)
注意事项:
我使用的是maven 3.3.3。看起来我在3.1.0中没有这种行为(我不是100%确定旧版本。无论如何,非常旧)。
Maven与Nexus结合在一起。也许问题就出在这里,而我把注意力放错了方向
谢谢你的提示
编辑:
问题是:
我如何让maven每次都安装快照,而不是像发行版一样第一次安装快照
编辑已解决的问题
我们总是使用mvn install
来编译和安装源代码。出于某种原因,我们没有使用mvnclean
命令。
重新编译所有源代码的正确maven命令是mvn clean install
谢谢@VinayVeluri如果代码更改需要版本,请针对代码库自己进行版本设置,尽管这很麻烦,但给出了版本控制的概念 如果必须自动更新快照,则使用
mvn -u clean install
添加后,此命令行arg将强制Maven检查远程存储库中的所有快照,并在本地存储库过期时更新它
如果代码更改需要版本,请针对代码库自己进行版本设置,尽管这很麻烦,但给出了版本控制的概念 如果必须自动更新快照,则使用
mvn -u clean install
添加后,此命令行arg将强制Maven检查远程存储库中的所有快照,并在本地存储库过期时更新它
这里有很多好的信息,但您的问题是什么?可能是重复的。回答
mvn-U,--updatesnapshots强制检查远程存储库上的更新版本和快照
Is在这种情况下可能会对您有所帮助。您在哪里查看此信息<代码>目标文件夹或.m2->repo
?将发行版安装到repo,但它做到了这一点everytime@BrandonIbbotson抱歉,问题是:如何让maven每次都安装real SNAPSHOT?@VinayVeluri他们两个<代码>安装确实向repo发布了,但就我而言,它发布了第一批编译的源代码。例如,我今天早上9点编译了一个快照。如果我现在用相同的项目版本重新进行mvn安装
,那么目标文件夹和maven repo中的文件仍然是从上午9点开始的文件。对我来说,如果是快照,它应该替换源。我说得对吗?现在我不得不为每个安装添加快照-01/S…-02/等。我相信这不是快照版本的正常行为。谢谢这里有很多好的信息,但是你的问题是什么?可能是重复的。回答mvn-U,--updatesnapshots强制检查远程存储库上的更新版本和快照
Is在这种情况下可能会对您有所帮助。您在哪里查看此信息<代码>目标文件夹或.m2->repo
?将发行版安装到repo,但它做到了这一点everytime@BrandonIbbotson抱歉,问题是:如何让maven每次都安装real SNAPSHOT?@VinayVeluri他们两个<代码>安装
确实向repo发布了,但就我而言,它发布了第一批编译的源代码。例如,我今天早上9点编译了一个快照。如果我现在用相同的项目版本重新进行mvn安装
,那么目标文件夹和maven repo中的文件仍然是从上午9点开始的文件。对我来说,如果是快照,它应该替换源。我说得对吗?现在我不得不为每个安装添加快照-01/S…-02/等。我相信这不是快照版本的正常行为。同时感谢你,我们已经深入研究了这个问题,我们找到了完全相同的解决方案,非常简单。当一件如此简单的事情解决它时,你看起来多么愚蠢,这真是令人惊讶。。。在安装之前,我们从未做过任何清理,然后maven就没有重新编译源代码了。谢谢你的回答。与此同时,我们深入研究了这个问题,找到了完全相同的解决方案,非常简单。当一件如此简单的事情解决它时,你看起来多么愚蠢,这真是令人惊讶。。。在安装之前,我们从未做过任何清理,然后maven就没有重新编译源代码了。谢谢你的回答。