Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven快照在发布时被考虑在内_Java_Maven_Nexus_Snapshot - Fatal编程技术网

Java Maven快照在发布时被考虑在内

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

我有用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>

组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就没有重新编译源代码了。谢谢你的回答。