JDEE在OS X上找不到JDK的工具jar文件

时间:2013-03-23 10:53:24

标签: java macos emacs jdee

我正在尝试为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)

enter image description here

3 个答案:

答案 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项目名称完成的示例:

enter image description here

答案 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