2013-05-12 71 views
0

我想使用Scala的訪問亞馬遜DynamoDB,發現這個大包在github https://github.com/piotrga/async-dynamo如何建立一個jar文件出來在SBT的github項目在Scala程序中使用

所以我下載的代碼一個zip文件,解壓縮它,然後做「SBT乾淨的測試」,並收到以下錯誤

error sbt.ResolveException: unresolved dependency: asyncdynamo#async-dynamo;1.6.0: not found 

的問題:這是生成一個jar文件,我可以加入我的Scala程序還是有一個正確的方法更好的方法? 在此先感謝。

編輯:

只是爲他人謀取利益,該SCALA SBT文檔提供了很多關於構建過程的信息。

+0

您是否使用sbt作爲您的項目的構建工具? Github項目頁面上的Readme.md告訴你如何在build.sbt中設置依賴關係。應該不需要「手動」創建一個罐子。 – 2013-05-12 08:09:40

+0

可能重複的[如何從git中取出依賴項工件?](http://stackoverflow.com/questions/7550376/how-can-sbt-pull-dependency-artifacts-from-git) – 2013-12-28 20:48:16

+0

重複的http:/ /stackoverflow.com/q/7550376/1305344和http://stackoverflow.com/q/19832655/1305344和http://stackoverflow.com/q/20083564/1305344 – 2013-12-28 20:48:46

回答

0

你是不是有這個似乎問題,請參見GitHub的問題頁面只有一個: https://github.com/piotrga/async-dynamo/issues

命令「SBT清潔測試」將運行SBT檢測試驗。如果你想要一個.jar文件,你可以使用'sbt clean package',它會在目標/文件夾中生成一個.jar文件。

我克隆了回購,並且能夠在更改release.sbt之後運行sbt包。我必須更改'publishTo'變量,因爲它似乎取決於存儲庫創建者本地環境變量,所以我只是將它評論掉了。

我沒有得到依賴問題,所以我想它是正確的聲明。它嘗試運行的測試確實失敗了,但sbt軟件包編譯產生.jar就好了。

編輯:正如Matthias Schlaipfer在評論中指出的那樣,更優雅的方式(也更容易)只是將它添加爲build.sbt的依賴。自述,這是你需要什麼補充:

解析器+ = 「piotrga」 在 「https://github.com/piotrga/piotrga.github.com/tree/master/maven-repo

libraryDependencies + = 「asyncdynamo」 % 「asyncdynamo」 % 「1.6」

+0

非常感謝,我讀了能夠蓋蒂它工作在評論publishTo變量之後。 – CruncherBigData 2013-05-12 11:49:30

+0

正如指出的那樣,一個更清潔的解決方案是將它用作sbt的依賴項,但很樂意提供幫助!如果有效,請接受答案。 – Zavior 2013-05-12 11:52:21

1

您可以運行'sbt publish-local'來代替生成jar文件,然後在其他項目中包含管理依賴項的行。 Sbt/ivy會看到你有這樣的工件,你不需要將jar添加到其他更清潔的項目中。 然後例如,如果您需要更新另一個項目,則不需要再次更換jar - 只需再次發佈local並清理並運行其他項目!

相關問題