Scala 为什么sbt是试图解决版本1.0.0的替罪羊?
我试图通过将此添加到plugins.sbt来使用sbt替罪羊:Scala 为什么sbt是试图解决版本1.0.0的替罪羊?,scala,sbt,Scala,Sbt,我试图通过将此添加到plugins.sbt来使用sbt替罪羊: addSbtPlugin("com.sksamuel.scapegoat" %% "sbt-scapegoat" % "1.0.4") 然后在by build.scala文件中执行以下操作: import com.sksamuel.scapegoat.sbt.ScapegoatSbtPlugin.autoImport._ scapegoatVersion := "1.1.0" 这是sbt替罪羊github网
addSbtPlugin("com.sksamuel.scapegoat" %% "sbt-scapegoat" % "1.0.4")
然后在by build.scala文件中执行以下操作:
import com.sksamuel.scapegoat.sbt.ScapegoatSbtPlugin.autoImport._
scapegoatVersion := "1.1.0"
这是sbt替罪羊github网站上显示的内容。我启动了sbt,让它解决sbt替罪羊1.0.4,它就是这样做的。到现在为止,一直都还不错。然后,如果我运行替罪羊,我得到:
[info] Resolving com.sksamuel.scapegoat#scalac-scapegoat-plugin_2.10;1.0.0 ...
[warn] Host repo1.maven.org not found. url=https://repo1.maven.org/maven2/com/sksamuel/scapegoat/scalac-scapegoat-plugin_2.10/1.0.0/scalac-scapegoat-plugin_2.10-1.0.0.pom
[info] You probably access the destination server through a proxy server that is not well configured.
[warn] module not found: com.sksamuel.scapegoat#scalac-scapegoat-plugin_2.10;1.0.0
[warn] ==== local: tried
[warn] /Users/wmy965/.ivy2/local/com.sksamuel.scapegoat/scalac-scapegoat-plugin_2.10/1.0.0/ivys/ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/com/sksamuel/scapegoat/scalac-scapegoat-plugin_2.10/1.0.0/scalac-scapegoat-plugin_2.10-1.0.0.pom
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: com.sksamuel.scapegoat#scalac-scapegoat-plugin_2.10;1.0.0: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
1.0.0依赖性从何而来?我的项目是scala 2.11.7,我使用的是sbt 0.13.11。在sbt替罪羊网站上,我没有看到任何关于另一个解析器的提及
在我的输出中,我的控制台显示了一系列发现的分析错误,但生成的HTML文档基本上是空的——没有显示控制台上显示的错误
如何解决此问题?要为子项目设置
scapegoatVersion
,您需要将其置于所述的常用设置中,或者在此构建中使用scapegoatVersion:=“1.1.0”
。为了避免错误,我认为在根项目中设置scalaVersion
可以:
lazy val root = (project in file(".")).
aggregate(dotdash, dotdash_messages).
settings(
scalaVersion := "2.11.7"
)
或者再次在此构建中使用scalaVersion
除了上述Alexey的回答之外,我还建议在。上提出一个问题,只是为了回答您可能想检查的地方。 这是一个sbt,方法buildSettings已经覆盖了要使用的scapegoatVersion
override def buildSettings = super.buildSettings ++ Seq(
scapegoatVersion := "1.0.0",
scapegoatRunAlways := true,
scapegoatConsoleOutput := true,
scapegoatVerbose := true,...
我们可以指定我们选择使用的版本,
scapegoatVersion在此构建中
对于我来说,上述工作中没有任何内容,因此可能存在两个问题,我的问题已通过使用解决
它也在为2.10寻找替罪羊,2.10并不存在。一些问题:1。你有多项目建设吗?2.您提到的文件路径是
project/plugins.sbt
和project/build.scala
?3.您从show scapegoatVersion
命令中得到了什么。是的,是MutlipProject。2.项目路径与您指定的路径相同。3.此处输出:(很抱歉格式化)[info]dotdash_messages/*:scapegoatVersion[info]1.2.1[info]dotdash/*:scapegoatVersion[info]1.2.1[info]root/*:scapegoatVersion[info]1.0.0当我尝试将scapegoatVersion:=“1.2.1”添加到根目录时,它得到了一个不同的失败依赖项,因为根目录正在使用scala 2.10(sbt)编译以及2.11中的非根模块。不知道该怎么办。
addSbtPlugin("com.sksamuel.scapegoat" %% "sbt-scapegoat" % "1.0.9")