2013-03-23 377 views
2

我想爲OS X上的emacs 24配置JDEE。 當我創建一個.java文件時,環境似乎自動加載(請參見圖片),所以它似乎正確安裝。然而,當我嘗試使用M-x jde-complete 自動完成任何東西(我沒有束縛,這對任何鑰匙了嗎)我得到以下信息:JDEE無法在OS X上找到JDK的工具jar文件

找不到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在~/.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

回答

1

我跟着this guide,現在它的工作原理。我認爲他們的關鍵是添加兩個JDK,然後選擇您想使用的JDK。看起來JDEE可能無法在僅添加一個JDK的情況下運行。 但是,現在我收到錯誤「無法在此終端上放置GUI菜單」,但我想這是另一個問題。

1

您可以採取新鮮的CEDET並按照this guide中所述進行設置。自2012年11月/ 12月以來,CEDET改進了對Java的支持,包括名稱完成,包括自動檢測JDK(在Linux和Mac OS X上測試),以及maven和ant的基本EDE項目(對於Maven,EDE可以提取依賴列表,並使用它們來構建名稱完成)。

這裏是例子名完成了Maven項目:

enter image description here

1

對於JDK 1.7的小牛,Aquamacs 2.5,JDE 2.4.0.1

JDE正在尋找「類/ classes.jar 「在JAVA_HOME下(當它試圖找到」lib/tools.jar「的達爾文等價物時)。

您可以通過創建這樣一個別名幫助它:

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和完成應該工作

還有的是,我還沒有試過

+0

我一個新的JDE 2.4.1認爲這是適當的解決方案。 Oracle改變了JDK的結構,我認爲這是解決這個問題的最簡單的方法,這些工具有基於以前的classes.jar位置的假設 – 2014-01-07 14:42:48