我们最近在Maven试图检索不存在的SNAPSHOT时发现了一个错误。正如你可以看到内部编号(不管是什么,因为它不是我们的内部版本号)匹配,但时间戳不会导致编译失败。这种情况每发生20次就会发生一次。我可以将快照的时间戳更改为内部版本号吗?
这是的Nexus:
而且这是在编译过程中发生了什么:
正如你可以看到它尝试检索relations-models:jar:1.1-20170901.134955-278
不存在,而20170901.134954-278
确实。注意一秒钟的偏移量。
- 有没有其他人有这个问题?和解决方法?
- 我正在考虑用内部版本号替换时间戳,但是我找不到影响快照如何加后缀的方法。有谁知道这是怎么做到的吗?
这涉及(大)多模块项目,其中这是一个子模块。
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>
而且部署插件是这样的:
构建并行运行了。
maven-metadata.xml是否显示正确的版本? – Ferrybig
后缀是Maven标准。改变它可能是一个坏主意(如果可能的话)。向我们展示您的pom,以便我们了解为何发生这种偏移。 –
这个问题是在多模块构建中发生还是在构建产生构件时发生,而其他构建是否在使用构件?这些构建是并行运行的吗? – khmarbaise