ここ数年、Javaを使って何か書く時はeclipseを使ってたんだけれども、やっぱり学生時代に使ってたemacs + jdeeの環境が忘れられない。eclipseをemacs風のキーバインドにしてもなんかもの足りない。ということで、最近あまり触ってなかったemacsをひっぱり出してきた。前にJavaをemacsで書いてたときと違って、mavenを使ってたりするので、mavenと連携してくれるとありがたいなーと思いながら調べていると、"malabar-mode"なるものがあるという。Groovyと絡んでるとか、mavenと連携して動くとかおもしろそう!
以下、インストール記録。基本は配布元のドキュメントにしたがいつつ、はまったところを補足したもの。
Ubuntu 10.10の emacs23.1 + maven2 にインストールしようと思ったらうまくいかなかったので、mavenは最新の3.0.2をインストール。Emacsのcedetとecbもdebパッケージのを使ってるとmalabar-modeがうまくbuildできなかったのでcedet-1.0とecb-2.40をそれぞれダウンロードしてきて野良インストール。
cedetはsite-lispから読めるようにしておく。
# cd /usr/share/emacs23/site-lisp # ln -s /path/to/cedet-1.0 .
git clone git://github.com/espenhw/malabar-mode.git
2011/02/22現在、そのままbuildしても失敗するみたいなのでpom.xmlを少しいじる。
@@ -54,7 +54,7 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <maven.version>3.0-SNAPSHOT</maven.version> + <maven.version>3.0.2</maven.version> </properties> <dependencies>
こんな感じに。これで先に進めるけど、testで失敗しちゃうときがある(別のマシンでやったら通ったんだけど。原因は突き止めておらず)ので、testを飛ばしてbuild。(参考:Maven2連携可能な malabar-mode があれば java-mode も jde-mode も不要かも -- ほっほん。)
$ mvn -Dmaven.test.skip=true package
buildに成功していると、malabar-1.5-SNAPSHOT-dist.zipができているので、これを展開しておく。
ドキュメント通りに以下を.emacsに追加。
(require 'cedet) (semantic-load-enable-minimum-features) ;; or enable more if you wish (require 'malabar-mode) (setq malabar-groovy-lib-dir "/path/to/malabar/lib") (add-to-list 'auto-mode-alist '("\\.java\\'" . malabar-mode))
zipを解凍して出てきたlispの中身をload-pathの通っているところに、libはmalabar-groovy-lib-dirを通す。
以上でインストール終了。