[英]Add local dependency jar in SBT-Scalatra project
我正在研究scalatra webapp示例。 我創建了一個包含dao和服務層的服務jar。 我想在Scalatra-SBT項目中添加此依賴項。 我怎樣才能實現這一目標?
我使用命令捆綁了我的服務jar: SBT包創建了一個jar。 我將如何在Web應用程序中包含此jar? 我可以在build.scala文件中添加它嗎? 或者我可以復制到任何Webapp文件夾?
是否可以將此jar推送到本地存儲庫並在我的webapp構建時將其從那里拉出來?
呼! 這里有很多問題!
好消息是SBT可以完成您要求的所有任務。
不要復制JAR文件以滿足依賴性! 它最終會流淚,幾乎可以保證。 像Ivy和Maven(以及擴展,SBT)這樣的工具可以提供幫助。
將服務jar推送到本地倉庫:
SBT任務是publish-local
,即服務jar的根目錄中的sbt publish-local
。 您將看到許多描述性輸出,最后使用以下格式的行:
[info] published services_2.10 to /Users/millhouse/.ivy2/local/services/services_2.10/0.1-SNAPSHOT/jars/services_2.10.jar
只要您設置了name
和scalaVersion
變量,就不需要在build.sbt
執行任何特殊build.sbt
來使其工作。 請注意,這將發布到您當地的常春藤緩存,對於大多數人來說是$HOME/.ivy2/local
。
要讓您的Scalatra-SBT webapp獲取服務jar:
編輯你的webapp的project/build.scala
,在libraryDependencies
鍵下添加這個依賴項(應該已經存在一些依賴項,每行一個,將你的位置放在中間位置!):
"services" %% "services" % "0.1-SNAPSHOT",
執行sbt clean update
,您的依賴項將被拉入。如果它不起作用,SBT將為您提供它查找工件的位置列表; 將它與它們發布的位置(在上一步中)密切比較,你可能會發現一個錯字; 修復它,然后再試一次。
請注意,有很多更依賴和發布管理比我上面顯示,但是這應該足以讓你去。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.