Я использую последнюю версию scala затмения язя http://scala-ide.org/
Scala IDE build of Eclipse SDK
Build id: 4.0.0-vfinal-20141216-1226-Typesafe
У меня есть проект, который я могу выполнить от терминала с системой онлайн бронирования:
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
>
и затем я импортировал проект в затмение. Когда я пытаюсь выполнить проект от затмения, я получаю следующую ошибку:
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, который я использую, должна иметь свой собственный плагин системы онлайн бронирования настолько, возможно, который может сделать вещи легче.
Таким образом, как я могу выполнить проект от затмения?
Не эта проблема, подобная той: https://stackoverflow.com/questions/26701992/exception-occurs-when-running-scala-test-from-eclipse? Ошибка является полностью тем же.
решение оттуда:
"Проверяют Ваш путь к классу; в особенности проверьте, что версия scalatest, в зависимости от которого Вы, компилируется для scala 2.11, не 2.10". - lmm.