AWS CodeArtifact list-package-versions子命令的--package参数正确取值咨询
解决AWS CodeArtifact查询Maven包版本的参数问题
你碰到的问题根源在于没搞清楚AWS CodeArtifact对Maven包参数的定义逻辑——Maven的groupId和artifactId在CodeArtifact里是分开指定的,不能直接拼接成groupId:artifactId或者混在一起传给--package参数。
先看你用list-packages得到的输出:
PACKAGES maven edu.excelsior.api core
这里的edu.excelsior.api是Maven的groupId,对应CodeArtifact CLI的--namespace参数;core是Maven的artifactId,对应--package参数。
所以正确的查询命令应该是:
aws codeartifact list-package-versions --domain kickingtires --repository kickingtires --format maven --namespace edu.excelsior.api --package core
为什么之前的尝试都失败了?
你之前的几种写法都没正确区分这两个参数:
- 传入
edu.excelsior.api:这只是groupId,不是实际的包名(artifactId),CodeArtifact自然找不到对应的包 - 传入
edu.excelsior.api.core:把groupId和artifactId硬拼在一起,既不符合Maven的结构,也不符合CodeArtifact的参数要求 - 传入
edu.excelsior.api:core:CodeArtifact的--package参数不支持这种冒号分隔的格式,必须用--namespace单独指定groupId
额外验证步骤
如果执行正确命令后还有疑问,可以先运行describe-package确认包的存在:
aws codeartifact describe-package --domain kickingtires --repository kickingtires --format maven --namespace edu.excelsior.api --package core
这个命令会返回该包的详细元数据,帮你确认它确实存在于目标仓库中。
内容的提问来源于stack exchange,提问作者Chris Maggiulli
相关产品推荐
相关产品推荐

