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存储库。 –