SBT plugins not using custom resolvers
我正在尝试将sbt-native-packager插件添加到我的sbt构建中。由于多种原因,我不想让我的构建依赖于默认的sbt存储库,我已经阻止了对网络上它们的访问,并通过以下方式将解析器添加到了
1 2 3 4 | resolvers +="local-repo-plugins" at"file:///" + baseDirectory.value +"/libs/repo/" resolvers += Resolver.url("my-ivy-proxy-plugins", url("http://fullURLForRepo/"))(Patterns("[organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]") ) addSbtPlugin("com.typesafe.sbt" %"sbt-native-packager" %"0.7.4") |
我可以确认它是在我的常春藤代理中托管的插件,但这甚至不是问题,因为sbt仍在尝试使用默认存储库:
1 2 3 4 | [info] Resolving com.typesafe.sbt#sbt-native-packager;0.7.4 ... [error] Server access Error: Connection timed out url=https://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.sbt/sbt-native-packager/scala_2.10/sbt_0.13/0.7.4/ivys/ivy.xml [error] Server access Error: Connection timed out url=https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.10/sbt_0.13/0.7.4/ivys/ivy.xml [error] Server access Error: Connection timed out url=https://repo1.maven.org/maven2/com/typesafe/sbt/sbt-native-packager_2.10_0.13/0.7.4/sbt-native-packager-0.7.4.pom |
此外,在解析库依赖项时,这个非常相同的自定义解析器在我的
虽然我了解为什么我的项目构建中使用的解析器与我的
是的,这是为插件定义解析器的正确方法
这实际上是非常棘手的:您正在尝试在插件版本和版本之间共享设置。从sbt的angular来看,这些是"单独的"项目。有些解决方案使用项目引用从构建中获取对插件构建设置的访问权限,但它们非常棘手。如果在公司环境中,您将永远无法访问默认存储库,则使用自定义
更改
您提供的日志中没有任何内容表明无法从代理解析插件,只是表明尝试访??问官方存储库超时。使用默认的sbt.boot.properties,sbt将尝试按照定义解析器的顺序解析伪像:
1 2 3 4 | local typesafe-ivy-releases: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext] maven-central sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots |
然后在
我认为你们都弄错了,应该是这样的:
my_project / project / plugins.sbt应该具有:
1 | addSbtPlugin("com.typesafe.sbt" %"sbt-native-packager" %"0.7.4") |
和my_project / project / project / build.sbt应该具有:
1 | resolvers += ... |
它们是2个不同的构建定义...
似乎文档尚未更新,要求您将