使用SBT从AWS CodeArtifacts拉取插件失败求助
SBT插件发布到CodeArtifact后拉取失败的解决方案
坐标格式错误是核心问题
你从CodeArtifact复制的依赖格式是针对普通Java/Scala库的,不能直接用于SBT插件。手动在模块名里添加_2.12_1.0是错误操作——SBT插件的坐标不需要手动拼接Scala版本和SBT版本,sbt会根据当前环境自动为插件构件追加这些后缀。
正确的addSbtPlugin写法应该是:
addSbtPlugin("com.mycompany" % "sbt-plugin" % "0.0.41")
额外需要确认的配置项
- 仓库配置是否正确:在
plugins.sbt开头必须添加CodeArtifact的仓库地址和认证信息,示例如下(替换成你的实际参数):resolvers += "my-codeartifact-plugin-repo" at "https://<domain>-<account-id>.d.codeartifact.<region>.amazonaws.com/maven/<repo-name>/" credentials += Credentials("CodeArtifact Realm", "<domain>-<account-id>.d.codeartifact.<region>.amazonaws.com", "aws", "<你的认证令牌>") - 发布的构件ID是否匹配:登录CodeArtifact控制台,确认你发布的插件的artifact ID是
sbt-plugin(不带版本后缀)。如果发布时的构件名本身带了后缀,需要调整项目的sbt发布配置,确保name字段设置为sbt-plugin,让sbt自动生成符合规范的带版本后缀的构件。
内容的提问来源于stack exchange,提问作者JohnBigs
相关产品推荐
相关产品推荐

