显然我的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 回答
问题是通常你的Nexus被配置为不允许重新部署版本 . Maven的一个版本是一个神器,它的版本不是 -SNAPSHOT . 相反,SNAPSHOT旨在多次部署到nexus中 .
这听起来好像你没有使用Maven的发布插件和Jenkins的Release PLugin .
Nexus是一个使用不同存储库格式的存储库管理器,主要格式是Maven存储库格式 . 无法更改服务器上工件的名称,因为它违反了格式 . 它们必须位于由groupId,artifactId和version Build 的目录结构中,并使用artifactId-version-classifier.packaging作为文件名 .
如果您需要在服务器上使用不同的文件名,则必须查看不同的存储库格式(不好的主意) . 如果您需要客户端上的文件名,只需从正确的名称下载并重命名..