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

Sbt 1.3.0+版本未用Coursier缓存仍访问.ivy2本地仓库问题

解决sbt依赖解析异常(未使用Coursier+Artifactory未授权)

核心问题排查与修复步骤

1. 强制启用Coursier,排除配置禁用

  • 检查项目配置文件:确认build.sbt、project/plugins.sbt或project/build.properties中没有useCoursier := false的配置,若有则删除。
  • 全局配置检查:查看~/.sbt/1.0/global.sbt或~/.sbt/global.sbt,移除任何useCoursier in Global := false的全局禁用项。
  • 命令行强制验证:直接执行sbt -Dsbt.coursier=true load,绕开IDE配置,确认纯命令行环境下是否切换为Coursier解析。

2. 修复Artifactory仓库授权问题

未授权是依赖拉取失败的核心原因,可能导致sbt fallback到Ivy解析:

  • 配置仓库凭证:在~/.sbt/.credentials中添加正确的认证信息:
    realm=Artifactory Realm
    host=artifactory.company.com
    user=你的用户名
    password=你的API密钥/密码
    
  • 关联仓库与凭证:编辑~/.sbt/repositories,确保公司仓库配置后标注credentials:
    [repositories]
    local
    company-artifactory: https://artifactory.company.com/maven-releases/, credentials
    
  • 项目级显式引用凭证:在build.sbt中添加:
    credentials += Credentials(Path.userHome / ".sbt" / ".credentials")
    

3. IntelliJ IDEA配置重置

  • 切换sbt执行模式:进入File > Settings > Build, Execution, Deployment > Build Tools > sbt,勾选Use sbt shell for build and import,应用后重启IDE。
  • 验证VM参数生效:在sbt shell中执行show javaOptions,确认输出包含-Dsbt.coursier.home=/Users/userId/Library/Caches/Coursier等自定义参数,若未生效则直接在命令行指定参数运行。

4. 清理缓存并重新拉取

  • 清理Coursier缓存:执行rm -rf /Users/userId/Library/Caches/Coursier,强制重新下载依赖。
  • 移除本地Ivy缓存干扰:删除/Users/userName/.ivy2/local/com.companyXX.projectA.maven目录,避免sbt优先读取本地无效依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 09:22:47