簡體   English   中英

如何在Nexus存儲庫管理器中綁定Maven工件的版本?

[英]How do you peg versions of Maven artifacts in the Nexus repository manager?

我正在構建針對Nexus存儲庫管理器中托管的Apache的Maven存儲庫中的各種Lucene和Solr Maven工件。 工件是版本4.0-SNAPSHOT並且每天更新,定期刪除舊工件。

我想知道如何將工件掛鈎到特定的日期,所以每當Maven客戶端要求solr-core 4.0-SNAPSHOT ,即使上游有一個較新的版本,也會得到相同的版本。

我還想知道如何顯式更新到最新的4.0-SNAPSHOT ,但仍然保留所有以前下載的版本。

具體來說,“Apache Snapshots”存儲庫是安裝Nexus時設置的默認存儲庫。

您可以使用版本maven插件固定到特定版本的SNAPSHOT,只有SNAPSHOT在相應的存儲庫中可用時才有效。 但我建議使用存儲庫管理器並將SNAPSHOT放入本地存儲庫並改為使用它們。 還有一種方法是獲得一個特定的SNAPSHOT,並為其提供內部版本,例如4.0.1-INTERNAL,並根據它提供更長的可用時間。

將快照部署到存儲庫服務器時,每個新部署實際上都部署為帶有迭代器編號的帶時間戳的版本。 如果要使用特定版本,只需使用快照的時間戳版本而不是-SNAPSHOT。

例如, 查看https://repository.apache.org/content/groups/snapshots/org/apache/maven/artifact/maven-artifact/3.0-alpha-2-SNAPSHOT/

您可以將此工件用作

<groupId>org.apache.maven.artifact</groupId>
<artifactId>maven-artifact</artifactId>
<version>3.0-alpha-2-SNAPSHOT</version>

每次部署新快照或您可以使用時,它都會更改它

<groupId>org.apache.maven.artifact</groupId>
<artifactId>maven-artifact</artifactId>
<version>3.0-alpha-2-20090214.020928-1</version>

哪個會保持不變。 但請記住,快照存儲庫本質上不是靜態的,並且這些工件可能會完全消失。 只有在使用可以控制的內部存儲庫服務器時才這樣做,從而確保這些快照不會消失在您身上。

另一種方法是實際切割一個版本並使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM