JDEE

以下のサイトの手順通りにJDEEをインストールしました。

jde.elのコードに jde-get-tools-jar() という関数があるので、classes.jarのパスを以下のように修正すればOK。

なんでこんなことをする必要があるのか分からなかったんですけど、darwinでは $JAVA_HOME/lib/tools.jarっていうファイルはなくて、$JAVA_HOME/../Classes/classes.jarがその代わりになるのね。そんなん知らんわー!めっちゃ sudo find / -name tools.jarしちゃったじゃん!

tools.jar does'nt exist on Mac OSX.
http://developer.apple.com/documentation/Java/Conceptual/Java14Development/02-JavaDevTools/JavaDevTools.html

I know maven already do this, probably the same "conversion" should be applied to system dependencies:

1. For Darwin, use classes.jar for TOOLS_JAR
TOOLS_JAR="${JAVA_HOME}/lib/tools.jar"
if $darwin; then
TOOLS_JAR="/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Classes/classes.jar"
fi

MACOSXeclipseJ2EEプラグイン"lomboz"の設定について教えてください。
"tools.jar"の設定をしようと、このファイルを探しているんですがどこにもありません。
どなかたご存知の方がいらっしゃいましたらご教授願います。
ちなみに環境は
MACOS 10.2.4(BSDTOOLインストール済)
DeveloperTool
Eclipse2.1 for Macosx+lomboz2.1



Mac OS Xではtools.jarという名前の物はありません。
同じ内容の物はclasses.jarとなります。
1.3.1であれば以下にあります。
/System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/Classes/classes.jar


ま、手順通りにやればOKなんですが、tools.jar関係の修正がちょっとだけ分かりにくかったので補足。
site-lisp内のjde-2.3.x.x/lisp/jde.elの以下の関数

(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.")))))

の"Classes/classes.jar"を"../Classes/classes.jar"に変更します。
で、Emacsを再起動すればオッケー。C-C C-v C-cでコンパイルが実行できます。

コンパイルできるようになったのはいいんだけど、必要なjarがクラスパスに設定されてないので、コンパイル失敗しちゃう。JDEEでmaven2のpom.xmlに書いてあるライブラリパスを通した上でコンパイルするのはどうしたらいいのかな?