diary

Eclipse のちょっとした発見

without comments

今日、わけあって Eclipse 上で java のコードをコンパイルする Ant の build を実行しようとしたのですが、そのとき、「javac.exe が無いよ~」と怒られました。よく見てみれば、JRE しか Eclipse には登録されてなかったので、そりゃ、javac なんか見つからなくて当然なわけです。

でも、いままで普通に java のコードをEclipse 上でコンパイルして実行したりしていたわけですよ。考えてみれば不思議ですよね~コンパイラ無いのに。と、思って、ちょっと調べてみたら、Eclipse には Batch compiler なる java で書かれたコンパイラが built-in されているとのこと。コマンドラインからも、こんな風につかえるようです。

java -classpath org.eclipse.jdt.core_3.2.0.jar org.eclipse.jdt.internal.compiler.batch.Main -classpath rt.jar A.java

実際に試したら、java コマンドで普通にコンパイルできました。これならたしかに、javac なんか必要ないです。

しかし、この Batch compiler とはいったい何ぞや? とちょっと気になったので、もすこし調べてみたら、こんな記述が。

An incremental Java compiler. Implemented as an Eclipse builder, it is based on technology evolved from VisualAge for Java compiler. In particular, it allows to run and debug code which still contains unresolved errors.

「未解決のエラーがあってもとにかくプログラムを走らせることが出来る」んだそうです。確かに、Eclipse では Java のコードの一部にエラーがあっても無視して実行できるんですよね。これも前から不思議だなあ、とは思ってたんですが、なるほど、これでいろんな謎が一気に解けました。

それにしても、こういう便利な技術が、オープンソースで普通に誰でもタダで使えるっていうのは、考えてみればスゴイことですよねぇ。ワタシもそのうち、できるならばお世話になった分くらいは恩返ししようと思ってます。

Written by Kei

February 1st, 2008 at 10:59 pm

Posted in Tech

Leave a Reply