базовые ошибки scala (класс scala.Array не найден, объект scala не найден) - PullRequest
4 голосов
/ 04 мая 2010

Я установил ensime согласно файлу README.md, однако я получаю ошибки в буфере inferior-ensime-server со следующими данными:

INFO: Fatal Error: scala.tools.nsc.MissingRequirementError: object scala not found.
scala.tools.nsc.MissingRequirementError: object scala not found.
    at scala.tools.nsc.symtab.Definitions$definitions$.getModuleOrClass(Definitions.scala:516)
    at scala.tools.nsc.symtab.Definitions$definitions$.ScalaPackage(Definitions.scala:43)
    at scala.tools.nsc.symtab.Definitions$definitions$.ScalaPackageClass(Definitions.scala:44)
    at scala.tools.nsc.symtab.Definitions$definitions$.UnitClass(Definitions.scala:89)
    at scala.tools.nsc.symtab.Definitions$definitions$.init(Definitions.scala:786)
    at scala.tools.nsc.Global$Run.(Global.scala:593)
    at scala.tools.nsc.interactive.Global$TyperRun.(Global.scala:473)
    at scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:535)
    at scala.tools.nsc.interactive.Global.reloadSources(Global.scala:289)
    at scala.tools.nsc.interactive.Global$$anonfun$reload$1.apply(Global.scala:300)
    at scala.tools.nsc.interactive.Global$$anonfun$reload$1.apply(Global.scala:300)
    at scala.tools.nsc.interactive.Global.respond(Global.scala:276)
    at scala.tools.nsc.interactive.Global.reload(Global.scala:300)
    at scala.tools.nsc.interactive.CompilerControl$$anon$1.apply$mcV$sp(CompilerControl.scala:81)
    at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:132)
    at scala.tools.nsc.interactive.Global$$anon$2.run(Global.scala:192)

также:

INFO: Fatal Error: scala.tools.nsc.MissingRequirementError: class scala.Array not found.
scala.tools.nsc.MissingRequirementError: class scala.Array not found.
    at scala.tools.nsc.symtab.Definitions$definitions$.getModuleOrClass(Definitions.scala:516)
    at scala.tools.nsc.symtab.Definitions$definitions$.getClass(Definitions.scala:474)
    at scala.tools.nsc.symtab.Definitions$definitions$.ArrayClass(Definitions.scala:217)
    at scala.tools.nsc.backend.icode.TypeKinds$REFERENCE.(TypeKinds.scala:258)
    at scala.tools.nsc.backend.icode.GenICode$ICodePhase.(GenICode.scala:55)
    at scala.tools.nsc.backend.icode.GenICode.newPhase(GenICode.scala:43)
    at scala.tools.nsc.backend.icode.GenICode.newPhase(GenICode.scala:25)
    at scala.tools.nsc.Global$Run$$anonfun$4.apply(Global.scala:606)
    at scala.tools.nsc.Global$Run$$anonfun$4.apply(Global.scala:605)
    at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:62)
    at scala.collection.immutable.List.foreach(List.scala:46)
    at scala.tools.nsc.Global$Run.(Global.scala:605)
    at scala.tools.nsc.interactive.Global$TyperRun.(Global.scala:473)
    at scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:535)
    at scala.tools.nsc.interactive.Global.reloadSources(Global.scala:289)
    at scala.tools.nsc.interactive.Global.typedTreeAt(Global.scala:309)
    at scala.tools.nsc.interactive.Global$$anonfun$getTypedTreeAt$1.apply(Global.scala:326)
    at scala.tools.nsc.interactive.Global$$anonfun$getTypedTreeAt$1.apply(Global.scala:326)
    at scala.tools.nsc.interactive.Global.respond(Global.scala:276)
    at scala.tools.nsc.interactive.Global.getTypedTreeAt(Global.scala:326)
    at scala.tools.nsc.interactive.CompilerControl$$anon$2.apply$mcV$sp(CompilerControl.scala:89)
    at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:132)
    at scala.tools.nsc.interactive.Global$$anon$2.run(Global.scala:192)

Кроме того, ни один из типов идентификации не работает для меня, я получаю 'NA', если я вообще что-то получаю. C-ct вызывает блокировку emacs.

Я бегу:

Ubuntu 10.04 (64-битная версия)
Emacs 23.1.50.1
Поражение от мерзавца (по состоянию на 3 мая 2010 г.)
Scala - это версия 2.8.0.RC1
java 1.6.0_20 (от солнца)
Вот копия журнала: http://dl.dropbox.com/u/5309017/ensime.log

Спасибо!
Джефф

1 Ответ

5 голосов
/ 04 мая 2010

«scala.tools.nsc.MissingRequirementError: объект scala не найден» обычно означает, что стандартная библиотека Scala не может быть найдена. Посмотрите на буфер подчиненного подчиненного сервера , и он должен напечатать используемый путь к классам. Вот отрывок из моего:

ИНФО: [Classpath = /usr/lib/jvm/java-6-openjdk/jre/lib/resources.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar: /usr/lib/jvm/java-6-openjdk/jre/lib/jsse.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/jce.jar:/usr/lib/jvm/java -6-OpenJDK / JRE / Библиотека / charsets.jar: /usr/lib/jvm/java-6-openjdk/jre/lib/rhino.jar: / USR / Библиотека / JVM / Java-6-OpenJDK / JRE / Библиотека /ext/dnsns.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/pulse-java.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext /sunjce_provider.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/localedata.jar : /usr/lib/jvm/java-6-openjdk/jre/lib/ext/gnome-java-bridge.jar: /home/aemon/src/misc/ensime/lib/jnotify/jnotify-0.93.jar: / главная / aemon / SRC / разное / ensime / Библиотека / Скала / Scala-library.jar: /home/aemon/src/misc/ensime/lib/scala/scala-compiler.jar]

Обратите внимание на scala-library.jar, второй с конца. Возможно, вам придется изменить файл .ensime так, чтобы поле: classpath указывало на библиотечный файл.

...