Java: A Beginner’s Guide, Sixth Edition: A Beginner’s Guide / Herbert Schildt
Eclipseの設定「インストール済みのJRE」を「JDK」に変更する――、過去に当たり前のように言われてきて、当たり前のように変更してきましたが、「え? 何故?」という疑問も抱かずに、その目的を全く理解していませんでした。
IT業界は特に激務で、勉強している時間も取れませんから、取り敢えず開発可能な状態にすることが先決で、いつの間にか有耶無耶になっていた、なんて方も少なくないかもしれません。
ここでは改めて、Eclipseの設定「インストール済みのJRE」を「JDK」に変更する「理由」「目的」について、確認してみたいと思います。
素朴な疑問
まず、初心者が素朴に疑問に思っていることは、以下のようなことです。
・Eclipseには独自のJavaコンパイラ「ECJ」が搭載されているんだから、敢えて「JDK」は不要ではないのか?
・Tomcat5.5以降のバージョンでは「JRE」に変更しなくても「JSP」のコンパイルが可能なんだし、実際、「JRE」のままでも開発に支障がない
Tomcat5.5以降の開発環境でJavaの開発を行っていれば、こういった疑問を抱いていてもおかしくはないかもしれません。
JREのままだと、どうなるのか?
「JREのままだと、どうなるのか?」、思いつくだけ列挙してみます。
・標準提供されたJavaライブラリ内をソースレベルでデバッグできない
・Tomcat5.5以前のバージョンを使うことになった場合に、「JSP」がコンパイルできなくなる
・各種プラグイン、フレームワークを使用する場合、「JDK」が必須である場合がある
・「ECJ」は「JDK」そのものではない為、コンパイル結果が異なる可能性がある
こんなところでしょうか。
Javaライブラリのデバッグ
開発していれば「デバッグ」は必ず行うことです。
頻繁にあることではないかもしれませんが、どうしてもJavaが標準提供しているライブラリ内をソースレベルでデバッグしたいというケースもあるかもしれません。
「Javaが標準提供しているライブラリ」とは何かと言えば、例えば「String」クラスなどです。
Eclipse上のソースで、Javaのクラス「String」にカーソルを置き、キーボードの「F3」を押下したとします(「F3」は「宣言の参照」です)。「JRE」のままだと、「ソースが見つかりませんでした」と表示されますが、「JDK」に変更していれば、「String」クラスのソースが表示されるようになります。
「JRE」にも「ECJ」にもJavaのソースは含まれていない為、「ソースが見つかりませんでした」と表示されます。ソースが見たければ、「JDK」を設定する必要があります。
ソースなど必要ない!
デバッグしない!
と言ってしまえば、それまでです。
Tomcat5.5以降でしか開発しない?
Tomcat5.5以降を開発環境に用いていれば、「JRE」のままでも「JSP」のコンパイルはできるわけですが、今後も開発は、Tomcat5.5以降でしか行わないのか、というところに問題があると言えます。
PC上の開発環境はTomcat5.5以降かもしれませんが、実はサーバー上はTomcat5.5以前の状態という可能性もあります。Tomcatのバージョンごとに「JDK」を設定する/設定しないを切り替えるくらいなら、始めから「JDK」を設定しておく方が間違いは無くなるでしょうし、無用な混乱を招き兼ねません。
また、サーブレットコンテナはTomcatだけではなく、サーブレットコンテナを持っているフレームワークなどもありますから、同じく、初めから「JDK」を設定しておく方がどんな環境にも適応できて、間違いは無くなるでしょう。
Tomcat5.5以降しか用いず、その他のプラグインもフレームワークも絶対に使わない!
と言ってしまえば、それまでです。
ECJはJDKではない
本件は、これが一番の問題ではないでしょうか。「ECJ」はJava準拠ではあるものの、「JDK」のコンパイラそのものではありません。
ほとんどの場合、「JDK」でコンパイルされたアプリケーションの結果を暗黙的に想定しているはずです。わざわざこんなこと言いもしないでしょう。もしも仮に、「ECJ」と「JDK」で生成したアプリケーションに重大な動作の違いが生じてしまったら、そのことに気がつくことは至難の技でしょう。
これが特に仕事として納品するようなものなら大問題で、変な拘り、もしくは無知で、「ECJ」のコンパイルで済ますようなことは絶対に避けなければなりません。
趣味で遊んでいるだけだし公開したりもしないから別にいいんだ!
と言ってしまえばそれまでですが、そういった趣味的な状況の時から正しい認識で開発術を身につけておくことが、何よりも大切なことだと思います。
EclipseにJDKを設定
「Eclipse」はデフォルトでは「JRE」を参照するように設定されています。「JDK」を参照するように設定を変更する方法は、以下で解説しています。
Eclipseの設定「インストール済みのJRE」を「JDK」に変更する
http://www.materialize.jp/art/software-services/7443/
(平成26年10月4日 アシベズヘア@ashibehair_m/facebook/note/SUZURI)
ピンバック: Eclipseの設定「インストール済みのJRE」を「JDK」に変更する | materialize.jp
ピンバック: Java+Eclipseの入手とインストール【Windows 8.1】 | materialize.jp