簡體   English   中英

在SBT-Scalatra項目中添加本地依賴關系jar

[英]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

只要您設置了namescalaVersion變量,就不需要在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM