2012-03-23 86 views
6

我對Maven/Ivy幾乎沒有任何知識,但知道這些技術背後是SBT自動下載和管理庫的能力。如何爲SBT設置本地代理存儲庫?

當我試圖從SBT生成IntelliJ Idea項目時,它(Idea或生成器插件)未能找到存儲在常見Ivy 2緩存中的緩存庫。我已經通過設置SBT項目來解決這個問題,使用存儲項目目錄下的下載庫的舊方案。我的另一個項目使用舊的SBT版本,默認這樣做。在這兩種情況下,我都使用clean命令在備份前刪除庫二進制文件,並在再次下載所有庫之後使用update。這意味着我多次下載相同的庫文件。

問題是如何設置本地資源庫來緩存這些庫,以便SBT更新從本地緩存中下載庫(如果有的話)?如果可能,將現有的~/.ivy2/cache目錄用於緩存會很好。

我傾向於認爲,當你至少具備基本的常春藤2知識時,這可能相當簡單。

回答

3

伊凡,這可能有幫助。

sbt 
> deliver-local 
[info] delivering ivy file to /.../target/scala-2.9.1/ivy-1.0.xml 

然後,你需要找到的IntelliJ等效步驟,但在Eclipse配置構建路徑與其他庫,由IvyDE plugin

1) browse to the target/scala-version/ivy-1.0.xml file 
2) select desired configurations (compile, runtime, test, provided, etc.) 

現在提供了「IvyDE管理的相關性」,你有你的sbt配置的常春藤代表。

這很奇妙地與一個惱人的例外:在「sbt乾淨」,常春藤配置文件被吹走,你必須重複上述。 Eclipse項目乾淨保存常春藤配置,順便說一句。

保持張貼,如果這種方法可以適用於IntelliJ

+0

謝謝,我會檢查了這一點。 – Ivan 2012-03-23 18:28:00