2017-09-06 52 views
6

我们最近在Maven试图检索不存在的SNAPSHOT时发现了一个错误。正如你可以看到内部编号(不管是什么,因为它不是我们的内部版本号)匹配,但时间戳不会导致编译失败。这种情况每发生20次就会发生一次。我可以将快照的时间戳更改为内部版本号吗?

这是的Nexus: In nexus

而且这是在编译过程中发生了什么:

Articats not found

正如你可以看到它尝试检索relations-models:jar:1.1-20170901.134955-278不存在,而20170901.134954-278确实。注意一秒钟的偏移量。

  1. 有没有其他人有这个问题?和解决方法?
  2. 我正在考虑用内部版本号替换时间戳,但是我找不到影响快照如何加后缀的方法。有谁知道这是怎么做到的吗?

这涉及(大)多模块项目,其中这是一个子模块。

Jar插件配置这样

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>me.magnet.redirect.RedirectService</mainClass> <useUniqueVersions>false</useUniqueVersions> <classpathLayoutType>custom</classpathLayoutType <customClasspathLayout>$${artifact.artifactId}-$${artifact.baseVersion}.$${artifact.extension}</customClasspathLayout> </manifest> </archive> </configuration> </plugin>

而且部署插件是这样的:

构建并行运行了。

+0

maven-metadata.xml是否显示正确的版本? – Ferrybig

+2

后缀是Maven标准。改变它可能是一个坏主意(如果可能的话)。向我们展示您的pom,以便我们了解为何发生这种偏移。 –

+0

这个问题是在多模块构建中发生还是在构建产生构件时发生,而其他构建是否在使用构件?这些构建是并行运行的吗? – khmarbaise

回答

1

Maven将尝试下载存储库中maven-metadata.xml文件中列出的最新快照版本。

这听起来像你有这个版本在maven-metadata.xml列出,但该文件实际上不存在。这可能是可能是是由于上传的构建不完整;如果例如多个模块尝试使用完全相同的spanshot版本号,但其中一些未能编译并且未上传到回购站。 (也可能是不正确的maven pom.xml配置)

相关问题