首页 文章

使用Snapshot策略部署nexus工件,但版本中没有SNAPSHOT字符串

提问于
浏览
4

显然我的Nexus拒绝我向他扔的每一个部署,如果该工件在版本中没有-SNAPSHOT .

数据:

  • 失败工件的名称:entando-core-engine-experiment-bundles_with_bootstrap.jar其中 experiment-bundles_with_bootstrap 是pom.xml的version元素中的版本
    我的Nexus上的

  • 托管存储库策略:快照,允许重新部署等等(快照的经典conf)

  • deployer:Jenkins 1.481

  • 詹金斯同样的工作,但是entando-core-engine- SNAPSHOT .jar --->成功

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

任何建议?我完全迷失了 .

2 回答

  • 0

    问题是通常你的Nexus被配置为不允许重新部署版本 . Maven的一个版本是一个神器,它的版本不是 -SNAPSHOT . 相反,SNAPSHOT旨在多次部署到nexus中 .
    这听起来好像你没有使用Maven的发布插件和Jenkins的Release PLugin .

  • 2

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

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

相关问题