在 sbt 術語中 “根目錄”是一個包含項目的目錄,所以如果創(chuàng)建一個 hello 項目將包含 hello/build.sbt 和 hello/hw.scala 在 hello world 項目例子中,其中hello是根目錄
源代碼可以放到項目的根目錄類似于 hello/hw.scala , 但是在真正的項目很少利用這樣的代碼結構,這樣會使項目變得混亂, sbt 的項目目錄結構默認情況下和 Maven 一樣(所有路勁是基于根目錄的相對路勁):
src/
main/
resources/
<包含在main 的jar包中的文件>
scala/
<scala源代碼>
java/
<java 源代碼>
test/
resources/
<包含在test 的jar包中的文件>
scala/
<scala 源代碼>
java/
<java 源代碼>
除 src/ 目錄以外的目錄將被忽略,包括隱藏的目錄。
你已經在項目的根目錄中看到了 build.sbt , 其他的 sbt 定義文件在子目錄 project 中, project
可以包含 .scala
文件,將和 .sbt
定義進行合并來完成構建定義,詳細的可以參考 .scala 配置定義
build.sbt
project/
Build.scala
你可能看到在 project/
目錄中有一個 .sbt
文件,這個文件和根目錄中的 .sbt
不是針對一個項目的定義,稍后會解釋這一點
生成的文件(編譯后的 class文件,jar 包,項目管理文件,緩存文件和文檔)將被寫入到一個target
目錄默認
項目的 .gitignore
文件中應該包含 target/
, 注意:以 /
結尾(匹配目錄中所有目錄和文件)并且開頭不包含 /
(為了匹配 project/target/)