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

SBT使用的仓库是什么?附本地目录及build.sbt配置信息

排查SBT使用的仓库信息

你的当前环境信息

先梳理下你给出的环境细节:

  • 本地~/.sbt目录包含以下文件夹:0.13、1.0、boot、launchers、preloaded
  • 项目的build.sbt配置内容:
name := "TestLab1"
version := "0.1"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.3.0"

具体排查步骤

咱们一步步来确认SBT实际使用的仓库:

1. 查看当前项目生效的所有仓库

在项目根目录下执行以下命令,能直接输出SBT会用来拉取依赖的所有仓库列表:

sbt show fullResolvers

这个命令会整合全局配置、SBT默认配置和项目本地配置的所有仓库,是最直接的方式。

2. 检查全局仓库配置文件

SBT允许在~/.sbt的对应版本目录下自定义全局仓库,比如:

  • 针对SBT 0.13:~/.sbt/0.13/repositories
  • 针对SBT 1.0+:~/.sbt/1.0/repositories
    如果这些文件存在,它们会覆盖SBT的默认仓库设置。文件的典型格式如下:
[repositories]
local
maven-central
typesafe-ivy-releases: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]

3. 确认项目级仓库配置

你的build.sbt里目前没有显式添加resolvers设置,所以项目会继承全局或SBT默认的仓库。如果后续需要自定义项目仓库,只需在build.sbt中添加类似配置:

resolvers ++= Seq(
  "Maven Central" at "https://repo1.maven.org/maven2/",
  "Typesafe Repository" at "https://repo.typesafe.com/typesafe/releases/"
)

4. 验证仓库的实际访问情况

如果想确认SBT到底从哪个仓库拉取了spark-sql依赖,可以执行debug模式的update命令:

sbt update -debug

日志里会详细记录每个依赖的查找过程,包括尝试访问的仓库地址和最终下载来源。另外,sbt dependencyTree可以展示依赖的层级关系,也能辅助确认依赖来源。

内容的提问来源于stack exchange,提问作者More Than Five

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:17:28