import scales.utils._
import ScalesUtils._
import scales.xml._
import ScalesXml._
// Some code
val xml = pullXml(xmlSource)
// Some more code
当我使用上述方法pullXml(由scales.xml提供)时,我收到以下错误
java.lang.NoSuchMethodError: scalaz.Scalaz$.equal(Lscala/Function2;)Lscalaz/Equal;
at Scales.xml.equals.DefaultQNameEquals$class.$init$(XmlComparisons.scala:28)
at scales.xml.impl.EqualsHelpers$.<init>(EqualsHelpers.scala:10)
at scales.xml.impl.EqualsHelpers$.<clinit>(EqualsHelpers.scala)
at scales.xml.impl.XmlTypesImplicits$class.$init$(XmlTypesImplicits.scala:32)
at scales.xml.ScalesXml$.<init>(ScalesXml.scala:3)
at scales.xml.ScalesXml$.<clinit>(ScalesXml.scala)
build.sbt文件条目是 - &#34; org.scalesxml&#34; %%&#34; scales-xml&#34; %&#34; 0.5.0&#34;
我正在运行代码 使用Scala 2.10.2(运行Java 1.7.0_79)构建的2.2.1
我该如何解决?
答案 0 :(得分:2)
它缺少scalaz.Scalaz.equal
,所以可能还有其他东西将不同版本的scalaz带入您的构建中。
有一个很好的sbt插件列出了依赖关系图,可以帮助您确定引入什么版本的ScalaZ: https://github.com/jrudolph/sbt-dependency-graph
答案 1 :(得分:0)
就我而言,specs2是罪魁祸首。我现在使用specs2版本3.6.1-scalaz-7.0.6,直到scales-xml得到更新。我认为scalaz兼容性破坏了版本7.1。