gpt4 book ai didi

scala - java.lang.NoSuchMethodError : scala. Predef$.refArrayOps

转载 作者:行者123 更新时间:2023-12-03 07:53:59 25 4
gpt4 key购买 nike

我有以下类(class):

import scala.util.{Success, Failure, Try}


class MyClass {

def openFile(fileName: String): Try[String] = {
Failure( new Exception("some message"))
}

def main(args: Array[String]): Unit = {
openFile(args.head)
}

}

其中有以下单元测试:
class MyClassTest extends org.scalatest.FunSuite {

test("pass inexistent file name") {
val myClass = new MyClass()
assert(myClass.openFile("./noFile").failed.get.getMessage == "Invalid file name")
}

}

当我跑 sbt test我收到以下错误:
java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;
at org.scalatest.tools.FriendlyParamsTranslator$.translateArguments(FriendlyParamsTranslator.scala:174)
at org.scalatest.tools.Framework.runner(Framework.scala:918)
at sbt.Defaults$$anonfun$createTestRunners$1.apply(Defaults.scala:533)
at sbt.Defaults$$anonfun$createTestRunners$1.apply(Defaults.scala:527)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.immutable.Map$Map1.foreach(Map.scala:109)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at sbt.Defaults$.createTestRunners(Defaults.scala:527)
at sbt.Defaults$.allTestGroupsTask(Defaults.scala:543)
at sbt.Defaults$$anonfun$testTasks$4.apply(Defaults.scala:410)
at sbt.Defaults$$anonfun$testTasks$4.apply(Defaults.scala:410)
at scala.Function8$$anonfun$tupled$1.apply(Function8.scala:35)
at scala.Function8$$anonfun$tupled$1.apply(Function8.scala:34)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
at sbt.std.Transform$$anon$4.work(System.scala:63)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.Execute.work(Execute.scala:235)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
[error] (test:executeTests) java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;

构建定义:
version := "1.0"

scalaVersion := "2.12.0"

// https://mvnrepository.com/artifact/org.scalatest/scalatest_2.11
libraryDependencies += "org.scalatest" % "scalatest_2.11" % "3.0.0"

我无法弄清楚是什么原因造成的。我的类(class)和单元测试看起来很简单。有任何想法吗?

最佳答案

scalatest_2.11是仅与 Scala 2.11.x 兼容的 ScalaTest 版本。写信 libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test" (注意 %% )改为自动选择正确的版本并切换到 Scala 2.11.8 直到 scalatest_2.12已发布(应该很快)。见 http://www.scala-sbt.org/0.13/docs/Cross-Build.html更多。

关于scala - java.lang.NoSuchMethodError : scala. Predef$.refArrayOps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40328948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com