SBT入门

2022-05-17 07:33:28 浏览数 (1)

前言

我们用IDEA创建Spark项目的时候,默认都是使用SBT作为构建工具的,那么SBT是个啥?

SBT是 Scala 的构建工具,全称是 Simple Build Tool, 类似 Maven 或 Gradle。

SBT 的野心很大,采用Scala编程语言本身编写配置文件,这使得它稍显另类,虽然增强了灵活性,但是对于初学者来说同时也增加了上手难度。

另外由于SBT默认从国外下载依赖,导致第一次构建非常缓慢。

设置全局仓库

默认从国外下载依赖,我们可以设置仓库的地址来加快构建速度。

设置仓库

如果是Windows系统,则进入CMD执行如下命令:

代码语言:javascript复制
cd  ~
mkdir .sbt
cd ..sbt
echo "">repositories
start repositories

如果是Mac或Linux系统,则进入Bash执行如下命令:

代码语言:javascript复制
cd  ~
mkdir .sbt
cd .sbt
vi repositories

然后创建 repositories 文件内容如下,并将文件拷贝到 .sbt 目录下,

代码语言:javascript复制
[repositories]
  local
  aliyun: http://maven.aliyun.com/nexus/content/groups/public/
  huaweicloud-maven: https://repo.huaweicloud.com/repository/maven/
  central: http://repo1.maven.org/maven2/

忽略自身仓库

设置所有项目均使用全局仓库配置,忽略项目自身仓库配置

该参数可以通过 Java System Property 进行设置。在 SBT 中,有三种方法可以设置 Java System Property,可以根据需要自行选择。

方法一:修改SBT配置文件(推荐)

提醒一下, sbt-1.3.0/conf/ 目录下有两个配置文件, sbtconfig.txt 仅适用于 Windows 平台,而 sbtopts 仅适用于 Mac/Linux 平台。

针对 Windows 平台,打开 sbt-1.3.0/conf/sbtconfig.txt 文件,在末尾新增一行,内容如下:

代码语言:javascript复制
-Dsbt.override.build.repos=true

针对 Mac/Linux 平台,打开 sbt-1.3.0/conf/sbtopts 文件,在末尾新增一行,内容如下:

代码语言:javascript复制
-Dsbt.override.build.repos=true

方法二: 设置环境变量

Windows 上通过 set 命令进行设置,

代码语言:javascript复制
set SBT_OPTS="-Dsbt.override.build.repos=true"

Mac/Linux 上使用 export 命令进行设置,

代码语言:javascript复制
export SBT_OPTS="-Dsbt.override.build.repos=true"

0 人点赞