2

我正在尝试在 OS X 上为 emacs 24 配置JDEE。当我创建一个 .java 文件时,环境似乎是自动加载的(请参见图片),因此它似乎安装正确。但是,当我尝试使用M-x jde-complete (我尚未将其绑定到任何键)自动完成任何内容时,我收到以下消息:

找不到 JDK 的工具 jar 文件(或等效文件)。键入 Mx 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 配置为指向 JDK ~/.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.
 '(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 的任何部分当前都没有工作,但是,我使用自动完成来测试,因为这是我开始工作的主要优先事项。

更新:如果我使用M-x jde-compile它说

JDE 无法识别 JDK 1.7 javac。假设 JDK 1.6 javac?(是或否)

它似乎找到了我的JDK。如果我输入 yes ,它会给出同样的错误(Cannot find JDK's tools jar file (or equivalent)

在此处输入图像描述

4

3 回答 3

1

我遵循了本指南,现在它可以工作了。我认为他们的关键是添加两个 JDK,然后选择您要使用的一个。似乎 JDEE 可能不适用于仅添加一个 JDK。但是,现在我收到错误“无法在此终端上放置 GUI 菜单”,但我想这是另一个问题。

于 2013-03-23T12:13:20.140 回答
1

您可以按照本指南中的说明获取新鲜的 CEDET 并进行设置。自 2012 年 11 月/12 月以来,CEDET 改进了对 Java 的支持,包括名称补全,包括 JDK 的自动检测(在 Linux 和 Mac OS X 上测试),另外还有 maven 和 ant 的基本 EDE 项目(对于 Maven,EDE 可以提取依赖项列表,并使用它们来构建名称完成)。

这是 Maven 项目的名称完成示例:

在此处输入图像描述

于 2013-03-23T12:35:46.517 回答
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

于 2013-11-28T17:02:02.853 回答