You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:IntelliJ无法从私有AWS ECR下载内部源码怎么办?

解决IntelliJ无法下载AWS CodeArtifact内部构件源码的问题
  • 确认构件是否上传了源码包
    登录AWS CodeArtifact控制台,定位到你的<my-artifact>,检查是否存在对应的*-sources.jar文件。很多内部构件发布时只上传了主jar包,未同步上传源码包,这种情况需要联系构件维护者补传。

  • 验证Maven配置与令牌有效性

    • 检查settings.xml中CodeArtifact仓库的配置是否正确,确保对应的server节点密码是最新的AWS CodeArtifact令牌。可以重新生成令牌:
      aws codeartifact get-authorization-token --domain <你的域名> --domain-owner <AWS账号ID> --query authorizationToken --output text
      
      替换settings.xml中对应server的password字段。
    • 确保仓库权限允许读取源码构件,CodeArtifact的权限策略需包含codeartifact:GetPackageVersionAsset动作。
  • 清理缓存并重新拉取

    • 删除本地Maven仓库中该构件的缓存目录,比如~/.m2/repository/[groupId]/[artifactId]/[version],然后执行mvn dependency:sources重新拉取。
    • 在IntelliJ中点击Maven面板的「Reload All Maven Projects」,或者右键项目选择「Maven -> Reload Project」刷新依赖。
  • 检查IntelliJ的源码下载设置

    • 打开IntelliJ设置(File -> Settings),进入「Build, Execution, Deployment -> Build Tools -> Maven -> Importing」,确保勾选「Download sources」选项。
    • 进入「Maven -> Repositories」,找到公司的CodeArtifact仓库,点击「Update」刷新仓库索引。
  • 直接拉取源码构件排查问题
    如果确认源码包存在,执行以下命令直接拉取源码构件,验证是否能正常下载:

    mvn dependency:get -Dartifact=<groupId>:<artifactId>:<version>:sources
    

    替换命令中的groupId、artifactId和version为实际值。如果命令执行成功,再回到IntelliJ刷新依赖即可;如果失败,说明是仓库配置或网络问题。

  • 排查网络与VPN权限
    使用curl测试是否能访问源码包的URL,比如:

    curl -u aws:<你的令牌> https://<domain>-<accountId>.d.codeartifact.<region>.amazonaws.com/maven/<repo>/<groupId路径>/<artifactId>/<version>/<artifactId>-<version>-sources.jar
    

    (注意groupId路径需要将.替换为/,比如com.example对应com/example)
    如果curl无法访问,联系IT团队排查VPN的网络规则是否限制了CodeArtifact的访问。

内容的提问来源于stack exchange,提问作者RanAbitbul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 09:53:33