2017-09-06 54 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配置)

相關問題