【问题标题】:Upload pom file to Nexus 3 and get error 'The provided POM file is invalid'将 pom 文件上传到 Nexus 3 并收到错误“提供的 POM 文件无效”
【发布时间】:2020-02-17 09:44:35
【问题描述】:

使用以下命令(curl 组件 API)将 pom 文件上传到 Nexus 3 服务器。

curl -v -u account:password -X POST 'http://local_repo_address/service/rest/v1/components?repository='$repo -F maven2.groupId=$groupId -F maven2.artifactId=$artifactId -F maven2.version=$version -F maven2.asset1 =@$=file_path -F maven2.asset1.extension=$file_type

得到 400 和以下错误。

[{"id":"*","message":"提供的POM文件无效。无法检索到有效的G:A:V参数(com.xxx.xxx:xxx-xxx:${sdk. starter.version})"}]

似乎 pom 文件中有一个占位符,它对 Nexus 3 组件 API 无效。 我尝试使用 maven deploy 而不是 API,它成功了。

但是有什么方法可以让我通过 API 调用上传它并绕过验证?

【问题讨论】:

  • 请显示您要上传的pom?绕过不是一个好主意,因为这是有原因的..

标签: maven pom.xml nexus3


【解决方案1】:

如果版本标记中有${sdk.starter.version} 之类的属性,则将pom 文件(原样)上传到Nexus 是没有意义的。如果它没有有效的版本号,您将无法在任何地方使用或引用它。

【讨论】:

  • 我认为这不再适用,因为 nexus 现在可以使用父 pom 验证 pom 文件,因此通常表明父 pom 中定义的版本是错误的。如果当然使用了父 pom。
猜你喜欢
  • 2012-03-05
  • 2011-08-07
  • 2016-12-07
  • 2021-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-14
  • 2017-01-29
相关资源
最近更新 更多