我們最近在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