Meadow に JDEE 導入したよメモ
どうもどうも。
JDEE を Meadow3.0 に導入してみたので,メモとして残そうという企み。
Java を使うことになりそうなので,できることなら Meadow で済ませたいと
思いつつ,試してみたら,結局 eclipse だなという結論に。
ま,それはいいとして。
参考サイト
- http://www.02.246.ne.jp/~torutk/jdee/jdee.html
- http://www.emacswiki.org/emacs/JavaDevelopmentEnvironment
- http://www.alles.or.jp/~torutk/oojava/meadow/Jde.html
- http://dev.ariel-networks.com/Members/inoue/jdee
とくに最後のサイトは読むだけで笑えるのでおすすめ。
と,以上のサイトに目を通しておくといいと思います。
準備
ワタシの場合は,Meadow のネットインストールで全部入れていたので,
jde, cedet をアンインストール。setup.exe からできます。
ついでに必要のない,skk, anthy も。
そもそも jde をオンにしているとエラーが起きた記憶が。
大まかな流れ
- ant をインストールせよ!
- jdee をインストールせよ!
- jde.el に手を入れろ!
- build.xml に手を入れろ!
- ビルドせよ!
- cedet をインストールせよ!
- speedbar.el に手を入れろ!
- cedet をビルドせよ!
- elib は最初からは入っているっぽいぜよ!
- .emacs に設定を!
それではいってみよー!! えいえいおー!!
(eieio かかってるんだよ,笑いが少ないから気づいてないと思ったので)
ant をインストールせよ!
http://ant.apache.org/bindownload.cgi
からさっさとダウンロードして,どっかに伸張してくださいな。
で,パスを通しておいた方がいいかもね〜。
JDEE をインストールせよ!
何はともあれ最新版を入れる方がいいです。
EmacsWiki(http://www.emacswiki.org/emacs/JavaDevelopmentEnvironment) にも書いてあるとおりです。
http://jdee.svn.sourceforge.net/viewvc/jdee/branches/2.3.6/jde/
から,Download GNU tarball でダウンロードできます。
svn 使う人はお好きになさって。
ほいだら,load-path の通ったところに配置ね。
ワタシの場合は,適当に,meadow3/site-lisp に置きました。
jde.el に手を入れろ!
jde.el の62行目あたりを,以下の様にコメントアウトするです。
どう変更するかは,コメントを参照。
;; Autoloads must be loaded first since move to sole `(require 'jde)' style. ;; (require 'jde-autoload) ; <-- この行をコメントアウト (require 'jde-util) ; <-- これは残しておく ;; The version of the JDEE distributed with XEmacs has its own ;; autoloads file (auto-autoloads.el). Therefore, require ;; jde-autoloads only if this JDEE version is not part of the XEmacs ;; package. ;; (unless ; <-- この行から ;; (and jde-xemacsp ;; (file-exists-p ;; (expand-file-name ;; "jde/auto-autoloads.el" ;; (jde-root)))) ;; (require 'jde-autoload)) ; <--- この行までをコメントアウト
build.xml に手を入れろ!
jde.jar を作るためです。
Ant のことはこれっぽっちもしらんので,対症療法的になっていると思うので,
知っている人の助言求む。とりあえず。
最初の状態では以下の様になっています。
というか,この build.xml,Mac 前提で書かれていたりする?
気のせい?
build.xml の 158 行目あたり。
<target name="build" depends="build-lisp, build-java" description="compile all JDEE source code"/>
これで,ant でビルドしようとすると,
build-lisp: [exec] emacs: standard input is not a tty
と怒られるので,上記の部分の,depends を変えちゃいます。きゃはっ!
<target name="build" depends="build-java" description="compile all JDEE source code"/>
ビルドせよ!
さて,jde.jar を作るためにビルドします。
おじさん,これに気づかずに数時間を消費しました。
作業は簡単。
※ Meadow,ant それぞれへのパスは各自の環境に合わせてください。
というか ant へパスを通しておけという。ま,いいや。
% ls build.xml config doc java lis % EMACS=/cygdrive/c/opt/meadow3/bin/Meadow.exe ~/opt@windows/Java/apache-ant-1.7.1/bin/ant configure Buildfile: build.xml init: [mkdir] Created dir: c:\opt\meadow3\site-lisp\jde\build prepare-lisp-build: [mkdir] Created dir: c:\opt\meadow3\site-lisp\jde\build\lisp configure: [mkdir] Created dir: c:\opt\meadow3\site-lisp\jde\build\config [propertyfile] Creating new property file: c:\opt\meadow3\site-lisp\jde\build.properties BUILD SUCCESSFUL Total time: 0 seconds % EMACS=/cygdrive/c/opt/meadow3/bin/Meadow.exe ~/opt@windows/Java/apache-ant-1.7.1/bin/ant dist Buildfile: build.xml Buildfile: build.xml init: build-java: [mkdir] Created dir: c:\opt\meadow3\site-lisp\jde\build\classes [javac] Compiling 153 source files to c:\opt\meadow3\site-lisp\jde\build\classes [javac] 注:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。 [javac] 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。 build: dist: [mkdir] Created dir: c:\opt\meadow3\site-lisp\jde\dist\lisp [mkdir] Created dir: c:\opt\meadow3\site-lisp\jde\dist\java\lib [copy] Copying 8 files to c:\opt\meadow3\site-lisp\jde\dist\java\lib [mkdir] Created dir: c:\opt\meadow3\site-lisp\jde\dist\java\src [copy] Copying 159 files to c:\opt\meadow3\site-lisp\jde\dist\java\src [mkdir] Created dir: c:\opt\meadow3\site-lisp\jde\dist\doc\html [copy] Copying 65 files to c:\opt\meadow3\site-lisp\jde\dist\doc\html [jar] Building jar: c:\opt\meadow3\site-lisp\jde\dist\java\lib\jde.jar BUILD SUCCESSFUL Total time: 7 seconds
なんか怒られていますが,SUCCESSFUL らしいのでよしと。
正直これ書くのあきてきました。
けど,こうした行為が,ワタシの様な数時間の浪費を防ぐと信じ続けます。
どこぞの局の偽善番組とは違い,本当に,愛は地球を救う,ですね,まさに。
でですね,ほしいブツは,dist ディレクトリに入っているので,
% cp dist/java/lib/jde.jar ./java/lib
cedet をインストールせよ!
http://sourceforge.net/projects/cedet/files/ から,1.0pre6 を,
ちゃちゃっとダウンロードしてくださいな。
んで,load-path の通ったところへ配置。
speedbar.el に手を入れろ!
なんか define-obsolete-variable-alias が,invalid function とか言って
怒られるので。けど,(fboundp 'define-obsolete-variable-alias) は t を返すんだけどなぁ。。。
そういうことじゃない?
対象ファイルは,cedet/speedbar/speedbar.el。
4124 行目から 4150 行目までをコメントアウト。
抜粋すると以下の様になります。
なお,副作用は知りません。
;;; Obsolete variables and functions ;; (when (fboundp 'define-obsolete-variable-alias) ;; (define-obsolete-variable-alias ;; 'speedbar-ignored-path-regexp 'speedbar-ignored-directory-regexp) ;; (define-obsolete-variable-alias 'speedbar-ignored-path-expressions ;; 'speedbar-ignored-directory-expressions) ;; ) ;; (when (fboundp 'define-obsolete-function-alias) ;; (define-obsolete-function-alias 'speedbar-add-ignored-path-regexp ;; 'speedbar-add-ignored-directory-regexp) ;; (define-obsolete-function-alias 'speedbar-line-path ;; 'speedbar-line-directory) ;; (define-obsolete-function-alias 'speedbar-buffers-line-path ;; 'speedbar-buffers-line-directory) ;; (define-obsolete-function-alias 'speedbar-path-line ;; 'speedbar-directory-line) ;; (define-obsolete-function-alias 'speedbar-buffers-line-path ;; 'speedbar-buffers-line-directory) ;; )
cedet をビルドせよ!
あー,さて,これで make します。
% ls INSTALL PRERELEASE_CHECKLIST cedet-build.el cogre contrib eieio speedbar tests Makefile USING_CEDET_FROM_CVS cedet-update-version.el common ede semantic srecode % EMACS=/cygdrive/c/opt/meadow3/bin/Meadow.exe make
たぶんうまくいくはず。
elib は最初からは入っているっぽいぜよ!
Meadow をインストールしたときについてきたみたいだから,何をしなくとも,
大丈夫でした。
手動でインストールする人は,setup.exe から,もしくは,Google でさがせばどっかにあったはず。
.emacs に設定を!
ワタシの場合はとりあえず,以下の2行を。
(require 'cedet) (require 'jde)
なんかクオートがどうたらこうたらと文句を言われますが,無視無視。
以上で補完が効いたりと,jdee の機能を使えるようになっているでしょう。
出来ない場合は,CLASSPATH 関係かも。一応ワタシは,tools.jar を CLASSPTH に設定してます。
まとめ
まだまだやるこたーいっぱいあります。
ドキュメントの設定,JDEE のバイトコンパイル,デバッグ,
ビルド,などなど。
けど,おじさんは見限りました。
なぜって,補完候補から選択するときに,マウスが必要なんだもん。
auto-complete.el みたいに操作できるならいいけど,
これだと,Emacs のいいとこつぶしてるじゃん?
それに,auto-complete.el みたいに導入が簡単じゃないんだもん。
いや,そんなはずはない。代替手段があるかも。いや,あるはずだ。
でも,なんだか疲れたんだ。
なにか補足あればお願いします。
そんなわけで,eclipse 1択になりそうな予感。
JDEE はここが,eclipse よりすげーぞとか大歓迎。
できれば Meadow を使いたいので。
以上,お疲れ様でした。