我一直看到sbt项目在其构建定义中使用以下resolvers
设置:
resolvers += "Local Maven Repository" at "file://"+Path.userHome.absolutePath+"/.m2/repository"
它也在the official documentation of sbt in Resolvers部分中描述。
我对使用sbt和构建管理工具的一般知识有限,但我认为它是一种反模式。
原因是如果一个项目声明了对本地Maven资源库中的库的依赖,那么它首先会以某种方式下载到那里,因此它可以在本地maven资源库之外的某个地方使用。如果是,为什么不使用原始存储库作为源?
如果依赖项不在公共存储库中,并且是项目的依赖项,则项目可以使用dependsOn
在resolvers
中没有其他存储库的情况下声明它。
请提供建议,因为我可能会遗漏一些明显的问题,使resolvers
设置不可或缺。
答案 0 :(得分:4)
一个明显的原因是,如果您的某个依赖项是使用maven构建的本地项目。
一种情况: