日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

sbt使用详解

發布時間:2024/1/3 综合教程 40 生活家
生活随笔 收集整理的這篇文章主要介紹了 sbt使用详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

sbt使用詳解

安裝:

我的系統為centos6.5故采用官方提供的在線安裝:

[html]view plaincopy

curlhttps://bintray.com/sbt/rpm/rpm>bintray-sbt-rpm.repo
sudomvbintray-sbt-rpm.repo/etc/yum.repos.d/
sudoyuminstallsbt

然后等完畢可以輸入 sbt sbt-version來進行查看安裝是否成功。(這一步可能會很辛苦因為第一次運行的時候他會下載很多東西,而且大部分資源都是在國外,很可能不成功,所以還是耐心點。我前幾篇有文章介紹加快sbt下載的文章可以去看下,但是感覺下載源的時候還是有點幫助。)

sbt執行步驟:

sbt 完全按照約定工作。sbt 將會自動找到以下內容:

項目根目錄下的源文件
src/main/scalasrc/main/java中的源文件
src/test/scalasrc/test/java中的測試文件
src/main/resourcessrc/test/resources中的數據文件
lib中的 jar 文件

默認情況下,sbt 會用和啟動自身相同版本的 Scala 來構建項目。 你可以通過執行sbt run來運行項目或者通過sbt console進入Scala REPL。sbt console已經幫你 設置好項目的 classpath,所以可以根據項目的代碼嘗試實際的 Scala 示例。

sbt結構說明

基礎目錄

在 sbt 的術語里,“基礎目錄”是包含項目的目錄。所以,如果你創建了一個和Hello, World一樣的項目hello,包含hello/build.sbthello/hw.scalahello就是基礎目錄。

源代碼

源代碼可以像hello/hw.scala一樣的放在項目的基礎目錄中。然而,大多數人不會在真實的項目中這樣做,因為太雜亂了。 sbt 和Maven的默認的源文件的目錄結構是一樣的(所有的路徑都是相對于基礎目錄的):

src/
  main/
    resources/
       <files to include in main jar here>
    scala/
       <main Scala sources>
    java/
       <main Java sources>
  test/
    resources
       <files to include in test jar here>
    scala/
       <test Scala sources>
    java/
       <test Java sources>

src/中其他的目錄將被忽略。而且,所有的隱藏目錄也會被忽略。

構建產品

構建出來的文件(編譯的 classes,打包的 jars,托管文件,caches 和文檔)默認寫在target目錄中。

交互模式

在你的項目目錄下運行 sbt 不跟任何參數:

$ sbt

執行 sbt 不跟任何命令行參數將會進入交互模式。交互模式有一個命令行(含有 tab 自動補全功能和歷史記錄)。

例如,在 sbt 命令行里輸入compile

> compile

再次compile,只需要按向上的方向鍵,然后回車。 輸入run來啟動程序。 輸入exit或者 Ctrl+D (Unix)或者 Ctrl+Z (Windows)可以退出交互模式。

批處理模式

你也可以用批處理模式來運行 sbt,可以以空格為分隔符指定參數。對于接受參數的 sbt 命令,將命令和參數用引號引起來一起傳給 sbt。例如:

$ sbt clean compile "testOnly TestA TestB"

在這個例子中,testOnly有兩個參數TestATestB。這個命令會按順序執行(cleancompile, 然后testOnly)。

常用命令

下面是一些非常常用的的 sbt 命令。更加詳細的列表請參見命令行參考。

clean 刪除所有生成的文件 (在target目錄下)。
compile 編譯源文件(在src/main/scalasrc/main/java目錄下)。
test 編譯和運行所有測試。
console 進入到一個包含所有編譯的文件和所有依賴的 classpath 的 Scala 解析器。輸入:quit, Ctrl+D (Unix),或者 Ctrl+Z (Windows) 返回到 sbt。
run <參數>* 在和 sbt 所處的同一個虛擬機上執行項目的 main class。
package src/main/resources下的文件和src/main/scala以及src/main/java中編譯出來的 class 文件打包成一個 jar 文件。
help <命令> 顯示指定的命令的詳細幫助信息。如果沒有指定命令,會顯示所有命令的簡介。
reload 重新加載構建定義(build.sbtproject/*.scalaproject/*.sbt這些文件中定義的內容)。在修改了構建定義文件之后需要重新加載。

添加依賴庫

有兩種方式添加第三方的依賴。一種是將 jar 文件 放入lib/(非托管的依賴)中,另一種是在build.sbt中添加托管的依賴,像這樣:

val derby = "org.apache.derby" % "derby" % "10.4.1.3"

lazy val commonSettings = Seq(
 organization := "com.example",
 version := "0.1.0",
 scalaVersion := "2.11.4"
)

lazy val root = (project in file(".")).
 settings(commonSettings: _*).
 settings(
  name := "hello",
  libraryDependencies += derby
 )

就是像這樣添加版本為 10.4.1.3 的 Apache Derby 庫作為依賴。

keylibraryDependencies包含兩個方面的復雜性:+=方法而不是:=,第二個就是%方法。+=方法是將新的值追加該 key 的舊值后面而不是替換它,這將在更多設置中介紹。%方法是用來從字符串構造 Ivy 模塊 ID 的,將在庫依賴中介紹。

總結

以上是生活随笔為你收集整理的sbt使用详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。