sbt1.4.4配置国内镜像源实操教程(无痛入门)
SBT 是 Scala 的構建工具,全稱是 Simple Build Tool, 類似 Maven 或 Gradle。 SBT 的野心很大,采用Scala編程語言本身編寫配置文件,這使得它稍顯另類,雖然增強了靈活性,但是對于初學者來說同時也增加了上手難度。另外由于SBT默認從國外下載依賴,導致第一次構建非常緩慢,使用體驗非常糟糕! 如果你是一名Scala初學者,本文希望幫你減輕一些第一次使用的痛苦。
本文的主要內容是幫助初學者從頭到尾構建并運行一個Scala項目,重點在于講解國內鏡像倉庫的配置。對于每一個操作步驟,會分別針對Windows、Mac和Linux三個主流操作系統進行講解, 最終幫助你快速構建一個可運行的Scala開發環境。
第一步:安裝SBT
單擊這里下載 SBT 1.4.4(Linux版),下載完成后解壓到指定目錄,例如 D:\Software\sbt-1.4.4,然后將 D:\Software\sbt-1.4.4\bin 添加至環境變量PATH。SBT 1.4.4 采用 Coursier 以無鎖的方式并行下載依賴,極大地提升了使用體驗!
請確認本機已安裝Java運行環境。
第二步:設置國內倉庫,加快構建過程
1) 設置全局倉庫
首先創建 .sbt 目錄。
如果是Windows系統,則進入CMD執行如下命令:
cd C:\Users\USER_NAME mkdir .sbt cd .sbt如果是Mac或Linux系統,則進入Bash執行如下命令:
cd ~ mkdir .sbt cd .sbt然后創建 repositories 文件內容如下,并將文件拷貝到 .sbt 目錄下,
[repositories] local huaweicloud-maven: https://repo.huaweicloud.com/repository/maven/ maven-central: https://repo1.maven.org/maven2/ sbt-plugin-repo: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]2) 設置所有項目均使用全局倉庫配置,忽略項目自身倉庫配置
該參數可以通過 Java System Property 進行設置。在 SBT 中,有三種方法可以設置 Java System Property,可以根據需要自行選擇。
方法一:修改SBT配置文件(推薦)
提醒一下, sbt-1.4.4/conf/ 目錄下有兩個配置文件, sbtconfig.txt 僅適用于 Windows 平臺,而 sbtopts 僅適用于 Mac/Linux 平臺。
針對 Windows 平臺,打開 sbt-1.4.4/conf/sbtconfig.txt 文件,在末尾新增一行,內容如下:
-Dsbt.override.build.repos=true針對 Mac/Linux 平臺,打開 sbt-1.4.4/conf/sbtopts 文件,在末尾新增一行,內容如下:
-Dsbt.override.build.repos=true方法二: 設置環境變量
在 Windows 上通過 set 命令進行設置,
set SBT_OPTS="-Dsbt.override.build.repos=true"在 Mac/Linux 上使用 export 命令進行設置,
export SBT_OPTS="-Dsbt.override.build.repos=true"方法三: 傳入命令行參數
執行 sbt 命令時, 直接在命令后面加上配置參數,
sbt -Dsbt.override.build.repos=true注意,如果由于某種原因, repositories 文件并不在默認的 .sbt 目錄下,則需要通過 -Dsbt.repository.config 指定 repositories 文件的具體位置,該參數的三種設置方法同 -Dsbt.override.build.repos 。例如采用修改SBT配置文件方式 (推薦),則打開 sbt-1.4.4\conf\sbtconfig.txt 文件,在末尾新增如下內容:
-Dsbt.override.build.repos=true -Dsbt.repository.config=path_to_repositories_file如:
下面的配置是畫蛇添足,默認就是這樣的配置。僅作演示用。
vim /home/zxl/develop/sbt/conf/sbtopts
-Dsbt.override.build.repos=true -Dsbt.log.format=true -Dsbt.boot.directory=/home/zxl/.sbt/boot -Dsbt.ivy.home=/home/zxl/develop/sbt/.ivy2 -Dsbt.global.base=/home/zxl/.sbt -Dsbt.repository.config=/home/zxl/.sbt/repositories第三步:構建并運行第一個Scala項目
1)修改項目SBT構建版本
單擊 hello-scala 下載一個最簡單的Scala項目,并解壓到指定目錄,如 D:\idea-projects 。由于SBT 1.4.4包含了多項性能提升,如果是已有的本地項目,請手動將項目的SBT構建版本改成1.4.4 。具體方法為:打開 project/build.properties 文件,將內容修改如下:
sbt.version = 1.4.4在命令行中切換至 hello-scala 目錄,執行sbt命令進入 sbt shell ,
第一次進入 sbt shell 時,由于需要下載相關依賴,大概需要幾十秒時間,第二次及以后進入 sbt shell 會很快。
檢查當前項目的SBT構建版本是否為1.4.4,
sbt:hello-scala> sbtVersion [info] 1.4.4 sbt:hello-scala>2)確認全局倉庫是否已經覆蓋項目自身倉庫
sbt:hello-scala> show overrideBuildResolvers [info] true確認倉庫列表是否與 ~/.sbt/repositories 文件一致:
sbt:hello-scala> show fullResolvers3)編譯并運行
編寫一小段代碼作為演示用:
$ mkdir hello $ cd hello $ echo 'object Hi { def main(args: Array[String]) = println("Hi!") }' > demo1.scala確認無誤后執行編譯命令,
sbt:hello-scala> compile [info] Compiling 1 Scala source to D:\idea-projects\hello-scala\target\scala-2.12\classes ... [success] Total time: 4 s, completed 2019-9-16 11:39:41查看SBT本地緩存,確認一下是否從國內倉庫下載依賴。針對不同的操作系統,對應的緩存路徑如下:
- Windows緩存路徑是 %LOCALAPPDATA%\Coursier\Cache\v1 ,即如果用戶名是joymufeng,則完整路徑是 C:\Users\joymufeng\AppData\Local\Coursier\Cache\v1 。
- Linux緩存路徑為 ~/.cache/coursier/v1 。
- Mac緩存路徑為 ~/Library/Caches/Coursier/v1 。
下面是Windows緩存截圖:
下面是Linux的緩存路徑:
~/.cache/coursier/v1/https/
zxl@debian:~/IdeaProjects/hello$ ls ~/.cache/coursier/v1/https/ repo.huaweicloud.com zxl@debian:~/IdeaProjects/hello$最后執行項目,
Windows:
Linux:
#編譯 sbt:hello> compile [warn] scala-xml_2.12-1.0.6.jar no longer exists at /home/zxl/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6.jar [info] Updating https://repo.huaweicloud.com/repository/maven/org/scala-lang/scala-library/2.12.12/scala-library-2.12.12.pom100.0% [##########] 1.6 KiB (2.5 KiB / s) [info] Resolved dependencies [info] Updating https://repo.huaweicloud.com/repository/maven/org/scala-lang/scala-compiler/2.12.12/scala-compiler-2.12.12.pom100.0% [##########] 2.6 KiB (12.5 KiB / s) ......#運行 sbt:hello> run [info] running Hi Hi! [success] Total time: 0 s, completed 2020年12月12日 下午12:07:41 sbt:hello>總結
以上是生活随笔為你收集整理的sbt1.4.4配置国内镜像源实操教程(无痛入门)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea安装golang插件(仅针对20
- 下一篇: scala简明教程:偏函数、高阶函数、F