Scala 为什么sbt是试图解决版本1.0.0的替罪羊?

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网

我试图通过将此添加到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网站上显示的内容。我启动了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")