我剛開始學習scala,我使用的構建工具是sbt。在這裏,我必須爲每個示例項目編寫依賴關係。我從互聯網複製了一些依賴關係並進行了粘貼,但我沒有獲得如何通過我自己編寫依賴關係的語法(或模式)。 有人可以告訴我關鍵字的排列方式以及寫入依賴關係的模式是什麼。sbt構建文件依賴語法(或模式)
1
A
回答
6
下面是從約什Suereth book
定義依賴SBT報價提供了一個方便的語法定義的Maven /常春藤使用%方法依賴關係。要在sbt中定義一個ModuleID,只需編寫「groupId」%「artifactId」%「version」,它將自動成爲一個ModuleID的實例。
考慮這種依賴性:
libraryDependencies += "iv.alex" % "commons" % "100500"
在這一行中,我們有三個部分:
libraryDependencies - setting key
+= - operator
"iv.alex" % "commons" % "100500" - initialization part
這個初始化部分構建了一個ModuleID
,這是由libraryDependencies
設置密鑰所需。它包括從報價等三個部分組成:
"iv.alex" - groupId
"commons" - artifactId
"100500" - version
但libraryDependencies
關鍵實際上是一個Seq[ModuleID]
,讓你有第二個運營商++=
其預計moduleIds的序列:
libraryDependencies ++= Seq("group" % "artifact" % "version", etc...)
最常用的方法在maven cetnral等商店中存儲依賴關係。所以,如果你想添加你自己的依賴項,例如你想爲scala 2.11找到Akka
2.2.3,首先找到它(link),那麼你需要找到.pom
文件或者某些情況下它會被寫入像here,所以你需要foloowing線:
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_2.10</artifactId>
<version>2.3-M1</version>
</dependency>
這是很容易轉化爲SBT的依賴,就像我上面描述:
libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.3-M1"
注意!,我寫了"com.typesafe.akka" %% "akka-actor"
兩個百分比符號,這意味着我需要一個具有相同版本的scala的庫,這是我的scalaVersion
設置密鑰。如果您注意到maven樣式依賴項,artifact id包含scala版本:akka-actor_2.10
,但不在out sbt依賴項中。如果您沒有有階版本在你的artifactId,那麼你shouldn't
把它寫成%%
離開只是一個%
相關問題
- 1. Maven SBT依賴項構件?
- 2. SBT構建依賴項(for javax.script)
- 3. 如何添加一個依賴到SBT構建文件
- 4. SBT依賴樹
- 5. SBT依賴
- 6. 由於未解決的依賴性,無法構建sbt 0.12.0-RC1
- 7. SBT無法解析構建定義中的依賴關係
- 8. SBT依賴於非SBT庫
- 9. 文本文件構建依賴關係
- 10. sparkSQL的SBT依賴
- 11. 訪問sbt中特定依賴項的文件名(或映射)
- 12. 從提供的動態更改sbt構建文件中的庫依賴關係
- 13. sbt多模塊項目:依賴項目
- 14. 構建依賴樹
- 15. 用於構建和測試的SBT依賴項管理分離
- 16. 向SBT構建添加「播放WS獨立」依賴關係
- 17. 構建自動化 - sbt:編譯/測試多個依賴關係
- 18. 使用scala sbt構建工具檢索SNAPSHOT對heroku的依賴
- 19. reactivemongo和SBT構建reactivemongo播放JSON的依賴問題
- 20. Dojo構建模塊依賴關係
- 21. Buildroot在構建文件中添加構建依賴項
- 22. 無法找到正確的SBT依賴
- 23. Sbt:無法解析的webjar依賴項
- 24. 無法下載依賴項sbt
- 25. 在SBT中作用域庫依賴關係的特定語法?
- 26. 正確的方式在vim創建一個語法文件依賴於別的語法文件
- 27. SBT未解決的依賴
- 28. SBT - 丟失的依賴
- 29. SBT缺少依賴關係
- 30. Sbt項目依賴關係