java - 您如何在 Nexus 存储库管理器中 Hook Maven Artifact 的版本?

标签 java maven nexus

我正在针对 Nexus 存储库管理器中托管的 Apache Maven 存储库中的各种 Lucene 和 Solr Maven Artifact 进行构建。这些 Artifact 是 4.0-SNAPSHOT 版本,每天更新,定期删除旧 Artifact 。

我想知道如何将 Artifact 与特定日期 Hook ,所以每当 Maven 客户端请求 solr-core 4.0-SNAPSHOT 时,即使有更新的版本,它也会获得相同的版本一个上游。

我还想知道如何显式更新到最新的 4.0-SNAPSHOT,但仍保留所有已下载的先前版本。

具体来说,“Apache Snapshots”存储库是安装 Nexus 时默认设置的存储库。

最佳答案

将快照部署到存储库服务器时,每个新部署实际上都部署为带有时间戳的版本,并附加了迭代器编号。如果您想使用特定版本,您只需使用快照的时间戳版本而不是 -SNAPSHOT。

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

您可以将此 Artifact 用作

<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>

这将保持不变。但请记住,快照存储库本质上不是静态的,这些 Artifact 可能会完全消失。仅当您使用可以控制的内部存储库服务器时才这样做,从而确保这些快照不会在您身上消失。

另一种方法是实际剪切一个版本并使用它..

关于java - 您如何在 Nexus 存储库管理器中 Hook Maven Artifact 的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10426640/

相关文章:

Nexus 1.9.1.1 - 如何避免空原型(prototype)目录?

java - 当从不同的存储库下载 2 个相同的 jar 时,Maven 如何选择使用哪个 .jar

java - Java 的 TrimEnd?

java - Android:如何在表单中强制执行最小值

java - 将 Maven 与 Eclipse Kepler 集成的问题

java - 在其他模块中加载测试资源?

java - 新 Mavenized 项目 - 找不到类路径

Maven - 将 Artifact 安装到 Nexus 存储库

java - 从简单的Java程序调用Giraph作业

java - 如何以编程方式配置 Tomcat 的 session 跟踪模式