6

最近、specs2がバージョン 2.4 に更新され、現在は 7.0.x の代わりにscalaz 7.1 が使用されています。プレイで specs2 の依存関係を更新したら! 2.3 プロジェクトでバージョン 2.4 を使用すると、すべてのテストが次の例外で失敗します。

 [error] Uncaught exception when running ...Spec: java.lang.In
 compatibleClassChangeError: Found class scalaz.syntax.FunctorOps, but interface
 was expected
 sbt.ForkMain$ForkError: Found class scalaz.syntax.FunctorOps, but interface was
 expected
    at org.specs2.specification.SpecificationStructure$.createSpecificationEither(BaseSpecification.scala:119)
    at org.specs2.runner.SbtRunner.org$specs2$runner$SbtRunner$$specificationRun(SbtRunner.scala:73)
    at org.specs2.runner.SbtRunner$$anonfun$newTask$1$$anon$5.execute(SbtRunner.scala:59)
    at sbt.ForkMain$Run$2.call(ForkMain.java:294)
    at sbt.ForkMain$Run$2.call(ForkMain.java:284)
    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)

以前にこのエラーが発生した人はいないようです。少なくとも、specs2 および play プロジェクトの問題追跡システムでは見つけることができませんでした。

4

2 に答える 2

5

この設定で Play 2.3.8 で動作するようにします。

  "org.scalaz" %% "scalaz-core" % "7.1.1",
  "com.typesafe.play" %% "play-test" % "2.3.8" % "test" excludeAll(
     ExclusionRule(organization = "org.specs2")
   ),
  "org.specs2" %% "specs2-core" % "3.5" % "test",
  "org.specs2" %% "specs2-junit" % "3.5" % "test",
  "org.specs2" %% "specs2-mock" % "3.5" % "test"
于 2015-05-19T22:51:59.530 に答える