Hhhmmm … nerd alert: If you do not like AquaEmacs, JDEE and Method Completion … don’t read this :).
Otherwise … good news: Not sure, if you have stumbled over this, but if you try to make your method completion work you might get an error message along the lines of …
Cannot find JDK’s tools jar file (or equivalent). Type M-x describe-function [RET] jde-get-jdk-dir for more info.
… when you hit C-c C-v . to complete a method name. The problem is that the beanshell cannot find tools.jar (or more specifically classes.jar (on MacOS)).
In my case my jde-get-jdk-dir returns …
/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
… but if you look the error message up in …
~/Library/Application Support/Aquamacs Emacs/jdee-2.4.0.1/lisp/jde.el
… you will see that on the darwin platform (MacOS) it tries to find the classes.jar file (which contains the tools stuff on darwin) in Classes/classes.jar, but the correct location is ../Classes/classes.jar, means to make it work you have to change jde-get-tools-jar() in jde.el to …
(defun jde-get-tools-jar ()
“Gets the correct tools.jar or equivalent. Signals an
error if it cannot find the jar.”
(let ((tools
(expand-file-name
(if (eq system-type ‘darwin)
"**../**Classes/classes.jar"
“lib/tools.jar”)
(jde-get-jdk-dir))))
(if (file-exists-p tools)
tools
(error (concat “Cannot find JDK’s tools jar file (or equivalent).”
“Type M-x describe-function [RET] jde-get-jdk-dir for more info.”)))))
… and then byte-compile it (just go to the Emacs-Lisp menu and select “Byte-compile this File”). Last but not least, you need to restart AquaEmacs and you are done.
OK. I admit it … this is nerdy :).