2013-03-25 74 views
0

我已经为scala设置了Emacs + Ensime。Ensime劣势scala模式

我能够启动的内部使用emacs SBT控制台抄送了Cv小号

如果我开始使用内部抄送了Cvžemacs的斯卡拉控制台,我收到以下错误

Welcome to Scala version 2.9.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_33). 
scala> 
Failed to initialize compiler: class scala.reflect.BeanInfo not found 

什么是修复对于这个错误?我如何在Emacs内部运行scala控制台?

+0

你是如何设置Emacs + Ensime的?你是否遵循了一些特定的指令,或者你是否随意做了一些事情,让它不起作用?如果后者,尝试前者。 – aij 2016-03-08 19:10:15

回答

0

我最近遇到了类似的错误,但这里是我如何解决它(但我不知道如何解决它,所以这只是答案的一半)。我所做的是定制ensime-inf-default-cmd-line变量的值为:'("sbt" "console")。这确实会启动交互式Scala环境。

编辑:

下面是相关的部分从.emacs,但我不相信这将关系/将是相同的在每一个安装:

(custom-set-variables 
;; custom-set-variables was added by Custom. 
;; If you edit it by hand, you could mess it up, so be careful. 
;; Your init file should contain only one such instance. 
;; If there is more than one, they won't work right. 
;; 
;; more stuff ... 
;; I'm not sure this line is correct/makes any difference 
'(ensime-inf-cmd-template (quote ("sbt" "console" "-classpath" :classpath))) 
;; This variable is used to launch the interpreter 
'(ensime-inf-default-cmd-line (quote ("sbt" "console")))) 

(require 'scala-mode2) 
(add-to-list 'auto-mode-alist '("\\.scala$" . scala-mode)) 
(add-to-list 'load-path "~/.emacs.d/ensime/elisp/") 
(require 'ensime) 
(add-hook 'scala-mode-hook 'ensime-scala-mode-hook) 

我已经安装了从MELPA scala-mode2。通过从他们的站点下载RPM来安装sbt版本0.12.0。我以前安装过JRE和JDK,活动版本是OpenJDK 1.7。 Scala的安装是2.9.2。我不知道如何识别Ensime的版本:|

+0

你能为此分享.emacs配置吗? – Sathish 2013-04-02 17:14:58

+0

我有这个问题与斯卡拉2.9.2。切换到Scala 2.10.1以某种方式解决了这个问题! – Sathish 2013-04-02 18:24:23