我正在为我的一个项目使用脚本化的sbt插件,它一直工作正常,但最近停止工作没有明显的原因.以下是失败的示例设置: # project/plugins.sbtlibraryDependencies += "org.scala-sbt" % "scripted-plugin" % s
# project/plugins.sbt libraryDependencies += "org.scala-sbt" % "scripted-plugin" % sbtVersion.value # build.sbt scalaVersion := "2.11.6" scriptedSettings # project/build.properties sbt.version=0.13.5
当我做更新时,我看到以下内容.请注意,它下载了scripted-plugin但无法找到scripted-sbt.直到最近这个工作正常,只是停止了.有任何想法吗?
test$sbt update Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024m; support was removed in 8.0 [info] Loading project definition from /private/tmp/test/project [info] Updating {file:/private/tmp/test/project/}test-build... [info] Resolving org.fusesource.jansi#jansi;1.4 ... ... [info] downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/scripted-plugin/0.13.5/jars/scripted-plugin.jar ... [info] [SUCCESSFUL ] org.scala-sbt#scripted-plugin;0.13.5!scripted-plugin.jar (4424ms) ... [info] Done updating. [info] Set current project to test (in build file:/private/tmp/test/) [info] Updating {file:/private/tmp/test/}test... [info] Resolving org.scala-sbt#scripted-sbt;0.13.5 ... [warn] module not found: org.scala-sbt#scripted-sbt;0.13.5 [warn] ==== local: tried [warn] /Users/rnorris/.ivy2/local/org.scala-sbt/scripted-sbt/0.13.5/ivys/ivy.xml [warn] ==== public: tried [warn] http://repo1.maven.org/maven2/org/scala-sbt/scripted-sbt/0.13.5/scripted-sbt-0.13.5.pom [info] Resolving org.scala-sbt#sbt-launch;0.13.5 ... [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: UNRESOLVED DEPENDENCIES :: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: org.scala-sbt#scripted-sbt;0.13.5: not found [warn] :::::::::::::::::::::::::::::::::::::::::::::: sbt.ResolveException: unresolved dependency: org.scala-sbt#scripted-sbt;0.13.5: not found at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:217) at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:126) ... [error] (*:update) sbt.ResolveException: unresolved dependency: org.scala-sbt#scripted-sbt;0.13.5: not found [error] Total time: 2 s, completed Jun 12, 2015 2:13:32 PM看起来脚本插件只能在sbt-plugins存储库中找到.如果 sbtPlugin设置为true,似乎只会添加.
对您的示例进行以下更改为我提供了一个解决方案:
#build.sbt sbtPlugin := true scalaVersion := "2.11.6" scriptedSettings
使用以下输出:
sbt update [info] Loading project definition from /root/test/project [info] Set current project to test (in build file:/root/test/) [info] Updating {file:/root/test/}test... [info] Resolving org.scala-sbt#sbt-launch;0.13.5 ... [info] downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/scripted-sbt/0.13.5/jars/scripted-sbt.jar ... [info] [SUCCESSFUL ] org.scala-sbt#scripted-sbt;0.13.5!scripted-sbt.jar (1323ms) [info] downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/scripted-framework/0.13.5/jars/scripted-framework.jar ... [info] [SUCCESSFUL ] org.scala-sbt#scripted-framework;0.13.5!scripted-framework.jar (1365ms) [info] downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.5/jars/sbt-launch.jar ... [info] [SUCCESSFUL ] org.scala-sbt#sbt-launch;0.13.5!sbt-launch.jar (2722ms) [info] Done updating. [success] Total time: 11 s, completed Jun 16, 2015 5:45:39 AM
注意,我也尝试使用sbt 0.13.8并且具有完全相同的问题和相同的结果.
编辑:如果设置sbtPlugin:=真为这个特定的应用程序是没有意义的,你可以添加解析器= Resolver.typesafeIvyRepo(“发行”)的主要build.sbt来达到同样的效果.
编辑2:这也可能是一个问题:resolvers not shared to dependent sbt projects?