scala ide (затмение) и проект sbt
Я использую последнюю версию scala ide eclipse http://scala-ide.org/
Scala IDE build of Eclipse SDK
Build id: 4.0.0-vfinal-20141216-1226-Typesafe
У меня есть проект, который я могу запустить из терминала с помощью sbt:
donbeo@donbeo-HP-EliteBook-Folio-9470m:~/Applications/scala_workspace/progfun-quickcheck$ sbt
[info] Loading project definition from /home/donbeo/Applications/scala_workspace/progfun-quickcheck/project/project
[info] Loading project definition from /home/donbeo/Applications/scala_workspace/progfun-quickcheck/project
[info] Set current project to progfun-quickcheck (in build file:/home/donbeo/Applications/scala_workspace/progfun-quickcheck/)
> test
[info] + Heap.min1: OK, passed 100 tests.
[info] + Heap.min2: OK, passed 100 tests.
[info] + Heap.min3: OK, passed 100 tests.
[info] ! Heap.sort1: Falsified after 1 passed tests.
[info] > ARG_0: List("0")
[info] + Heap.minMeld: OK, passed 100 tests.
[info] Quic..........
Я попытался импортировать этот проект, чтобы затмить работает:
ickcheck$ sbt
[info] Loading project definition from /home/donbeo/Applications/scala_workspace/progfun-quickcheck/project/project
[info] Loading project definition from /home/donbeo/Applications/scala_workspace/progfun-quickcheck/project
[info] Set current project to progfun-quickcheck (in build file:/home/donbeo/Applications/scala_workspace/progfun-quickcheck/)
> eclipse
[info] About to create Eclipse project files for your project(s).
[info] Successfully created Eclipse project files for project(s):
[info] progfun-quickcheck
>
и затем я импортировал проект в затмение. Когда я пытаюсь запустить проект из Eclipse, я получаю следующую ошибку:
WARNING: -p has been deprecated and will be reused for a different (but still very cool) purpose in ScalaTest 2.0. Please change all uses of -p to -R.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at scala.tools.eclipse.scalatest.launching.ScalaTestLauncher$.main(ScalaTestLauncher.scala:20)
at scala.tools.eclipse.scalatest.launching.ScalaTestLauncher.main(ScalaTestLauncher.scala)
Caused by: java.lang.NoSuchMethodError: scala.collection.immutable.$colon$colon.hd$1()Ljava/lang/Object;
at org.scalatest.tools.Runner$.argTooShort$1(Runner.scala:1010)
at org.scalatest.tools.Runner$.parseReporterArgsIntoConfigurations(Runner.scala:1024)
at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:627)
at org.scalatest.tools.Runner$.main(Runner.scala:573)
at org.scalatest.tools.Runner.main(Runner.scala)
... 6 more
Я также понимаю, что версия ecplise, которую я использую, должна иметь свой собственный плагин sbt, так что, возможно, это может упростить ситуацию.
Итак, как я могу запустить проект из Eclipse?
1 ответ
Разве эта проблема не похожа на эту: https://stackoverflow.com/questions/26701992/exception-occurs-when-running-scala-test-from-eclipse? Ошибка абсолютно одинакова.
Решение оттуда:
"Проверьте ваш путь к классу; в частности, убедитесь, что версия scalatest, от которой вы зависите, скомпилирована для scala 2.11, а не 2.10". - ммм