0
我一直看到SBT項目在其構建定義如下resolvers
設置:將本地Maven存儲庫添加到sbt的原因是什麼?
resolvers += "Local Maven Repository" at "file://"+Path.userHome.absolutePath+"/.m2/repository"
它在the official documentation of sbt in Resolvers節還描述。
我對使用sbt和構建管理工具的一般知識總體上讓我覺得它是一種反模式。
原因是,如果一個項目在本地Maven資源庫中聲明瞭一個庫的依賴關係,那麼它首先會下載到那裏,所以它可以在本地Maven資源庫之外的某個地方使用。如果是這樣,爲什麼不使用原始存儲庫作爲源?
如果依賴關係不在公共存儲庫中,並且是項目的依賴關係,那麼項目可以使用dependsOn
來聲明它,而不需要resolvers
中的附加存儲庫。
請指教,因爲我可能會丟失一些明顯的東西,使resolvers
設置不可或缺。
*使用maven *或任何非sbt構建工具構建,然後將其發佈到sbt項目可以從其中刪除的官方存儲庫。這就說得通了。謝謝! –
我一直在思考答案,並提出了另一個問題 - 爲什麼對於這樣一個簡單的臨時更改,「解析器」設置不應該在全局配置中更改?爲什麼這會成爲項目'build.sbt'的一部分?這只是對'build.sbt'的臨時更改,而不會將其提交到scm存儲庫。 –