我正在尝试为OS X上的emacs 24配置JDEE。
当我创建.java文件时,环境似乎自动加载(请参见图片),因此它似乎安装正确。但是,当我尝试使用M-x jde-complete
自动完成任何操作时
(我还没有把它绑定到任何键)我收到以下消息:
找不到JDK的工具jar文件(或等效文件).Type M-x describe-function [RET] jde-get-jdk-dir了解更多信息。
我运行/usr/libexec/java_home
找到我的Java主页并在我的~/.bash_profile
中设置:
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home"
然后我将JDEE配置为指向~/.emacs
中的JDK:
(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.
'(jde-jdk (quote ("1.7.0_17")))
'(jde-jdk-registry (quote (("1.7.0_17" . "/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home")))))
(custom-set-faces
;; custom-set-faces 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.
)
有谁能告诉我为什么自动完成无效?我相信我的JDEE i设置的任何部分目前都没有,但是,我使用自动完成测试,因为这是我工作的主要优势。
更新:如果我使用M-x jde-compile
,则说
JDE无法识别JDK 1.7 javac。假设JDK 1.6 javac?(是或否)
它似乎找到了我的JDK。如果我输入yes,它将给出相同的错误(Cannot find JDK's tools jar file (or equivalent)
。
答案 0 :(得分:1)
我跟着this guide,现在可以了。我认为他们的关键是添加两个JDK然后选择你想要使用的JDK。看起来JDEE可能无法仅添加一个JDK。 但是,现在我收到错误“无法在此终端上放置GUI菜单”,但我想这是另一个问题。
答案 1 :(得分:1)
您可以按照this guide中的说明选择新的CEDET并进行设置。自2012年11月/ 12月以来,CEDET改进了对Java的支持,包括名称完成,包括自动检测JDK(在Linux和Mac OS X上测试),以及maven和ant的基本EDE项目(对于Maven,EDE可以提取依赖项列表) ,并使用它们来建立名称完成。)
以下是Maven项目名称完成的示例:
答案 2 :(得分:1)
对于Mavericks上的JDK 1.7,Aquamacs 2.5,JDE 2.4.0.1
JDE正在寻找JAVA_HOME下的“Classes / classes.jar”(当它试图找到“lib / tools.jar”的darwin等价物时)。
您可以通过创建如下别名来帮助它:
sudo mkdir /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/Classes
sudo ln -sfv /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/lib/tools.jar /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/Classes/classes.jar
重新启动emacs,完成工作
我还没有尝试过更新的JDE 2.4.1