6

显然,如果工件在版本中没有 -SNAPSHOT,我的 Nexus 会拒绝我向他投掷的每一次部署。

数据:

  • 失败工件的名称:entando-core-engine-experiment-bundles_with_bootstrap.jar 其中 Experiment -bundles_with_bootstrappom.xml 的 version 元素中的版本
  • 在我的 Nexus 上托管存储库策略:快照、允许重新部署等(快照的经典配置)
  • 部署者:詹金斯 1.481
  • 相同的 Jenkins 工作,但 entando-core-engine- SNAPSHOT .jar ---> SUCCESS

我需要这个命名约定,因为我正在构建我们在内部运行的几个实验之一,这与生成正确 entando-core-engine-SNAPSHOT.jar 的规范开发分支相反

有什么建议吗?我完全迷路了。

4

2 回答 2

2

问题是通常您的 Nexus 配置为不允许重新部署版本。从 Maven 的角度来看,发布是一个工件,它的版本不是-SNAPSHOT。与此相反,SNAPSHOT 旨在多次部署到关系中。
这听起来像您没有使用 Maven 的发布插件,也没有使用 Jenkins 的发布插件。

于 2012-11-27T18:29:48.247 回答
0

Nexus 是一个存储库管理器,它使用不同的存储库格式,主要格式是 Maven 存储库格式。更改服务器上工件的名称是不可能的,因为它违反了格式。它们必须位于由 groupId、artifactId 和 version 建立的目录结构中,并使用 artifactId-version-classifier.packaging 作为文件名。

如果您需要在服务器上使用不同的文件名,则必须查看不同的存储库格式(坏主意)。如果您需要客户端上的文件名,只需从正确的名称下载并重命名..

于 2012-11-28T21:12:43.493 回答