2014-04-09 63 views
3

我需要在離線環境中使用sbt,但是我可以將文件系統上所有必需的jar作爲本地存儲庫。我如何定義〜/ .sbt/repositories,以便它能檢查sbt(和我的項目)需要的jar文件系統的本地文件系統?對於獎勵積分,建立本地文件庫的最簡單方法是什麼?在基於文件的存儲庫中使用SBT脫機

回答

3

這完全是在http://www.scala-sbt.org/release/docs/Detailed-Topics/Proxy-Repositories.html

-Dsbt.override.build.repos=true

解釋你必須把這個簡單地說成〜/名.bst /庫

[repositories] 
    local 
    sharedRepo: file:///path/to/my/shared/repo/.m2/repository 

並調用SBT(或播放/激活)

這將確保只有本地和共享存儲庫用於解決依賴關係。

確保本地存儲庫包含所需jar文件的最簡單方法是刪除〜/ .sbt/repositories文件,並在聯機時對項目執行sbt update(不帶-Dsbt.override.build.repos =真實參數)。之後,恢復〜/ .sbt/repositories文件,並且所有解析將僅從本地存儲庫完成。

爲了在artifactory中設置私有存儲庫,它有一個足夠用於maven存儲庫的開源版本。

http://www.jfrog.com/home/v_artifactory_opensource_overview

+0

這不回答我的問題:我不只是要使用本地緩存.ivy2 - 我要檢查庫的文件系統。例如,文件系統可以通過nfs安裝存儲庫 - 但本地ivy2緩存是本地安裝的存放位置,因此不能在用戶之間共享。 –

+0

如果通過檢查文件系統,您的意思是主動搜索存儲庫,我認爲這不可能。必須在文件中指定確切的存儲庫URL /文件位置。我更新了答案,以顯示如何在〜/ .sbt/repositories文件中指定自定義存儲庫。 –

相關問題