はじめに

知恵袋には、これからJava開発を始めたいという方からほぼ毎週のように、下図のような表示となってコンパイルができないという質問が寄せられています。 

1.png

元来、プログラミング言語を用いた開発という作業は、通常のパソコンの利用よりも高いスキルが求められるものではあるのですが、GUIの普及やOSの複雑化により、基礎的な部分を知る機会に恵まれないままパソコンを利用してきた人が増加しているのは止むを得ないのかもしれません。


ここでは、WindowsでこれからJava開発を始めようという方のために、Java開発環境のインストールや各種設定、そして統合開発環境Eclipseを用いた開発方法や操作手順まで、他の入門書では記さないレベルまで敷居を下げた解説をしてみたいと思います。このノートは開発をする準備を整えることができるようになるための資料にすることを目的に作成するものとするので、Java言語の仕様や文法などについては触れません


なお、このノートの画面写真はWindows 7 64bit版によるものです。他のバージョンのWindowsを利用されている方は画面構成が異なるかもしれませんが、概ね操作性は共通しているはずなので、適宜読み替えてくださるようお願いします。


目次

内容がかなり多いことと、1つのノートに貼り付けられる画像数の制限のため、5つのノートに分けて記します。


Windowsユーザーのための超入門・Java開発環境構築(1)

  • Java開発環境の基礎
  • 環境変数
  • コマンドプロンプトで動かしてみる

Windowsユーザーのための超入門・Java開発環境構築(2)

  • Eclipseの予備知識
  • Eclipseの入手と環境構築
  • Eclipseの設定

Windowsユーザーのための超入門・Java開発環境構築(3)

  • Eclipseでプログラムを作成する
  • テキストエディターの機能を活用する

Windowsユーザーのための超入門・Java開発環境構築(4)

  • デバッグをする

Windowsユーザーのための超入門・Java開発環境構築(5)

  • インポートとエクスポート
  • ワークスペースの活用
  • Eclipseにおける文字コード


Java開発環境の基礎

JREとJDK

まず一口に「Java」といっても、パソコンに導入するためのパッケージとして配布されているものにはJDK(Java Development Kit)JRE(Java Runtime Environment)の2種類が存在します。JDKはJavaによるアプリケーションを開発および実行するためのソフトウェアのセットとなっています。対して、JREは開発されたアプリケーションを実行するためのみのソフトウェアのセットです。よって、Java開発環境構築のためにはJDKが必要となります。なお、JDKのインストーラーにはJREも含まれており、同時にインストールすることができます。


Javaの開発元

Javaは元々、サン・マイクロシステムズ(Sun Microsystems)という企業で開発されたものです。しかし、2010年にサンがオラクル(Oracle)という企業に買収されて消滅したことにより、Javaの権利もオラクルに移りました。現在ではオラクルによって開発と配布が続けられています。このため、現在でもサンの名前が出てくる資料が多数あり、ウェブで検索してもサンのドメインのページがヒットすることがあります。この点には注意が必要です。


JDKのダウンロードとインストール

まずはJDKをダウンロードします。まず、下記アドレスにアクセスしましょう。

http://www.oracle.com/technetwork/java/javase/downloads/index.html


下図ではJava SE 7u13になっています。u13とはupdate 13を意味し、バグの修正などが行われるとupdateの番号が増加したものがリリースされます。そのときの最新のものを選択しましょう。JDKというボタンをクリックすると、ダウンロード画面に移ります。「Accept License Agreement」をクリックした後、ファイル名をクリックすればダウンロードが始まります。32bit版Windowsならば末尾が「-i586.exe」、64bit版Windowsならば末尾が「-x64.exe」となっているファイルを選びましょう。 

2.png



ポイント

  • JDKをインストールするにあたって、自分の使用しているWindowsが何bit版かわからない場合は、コントロールパネルの「システム」の画面で確認することができます。この画面の出し方は後述します。
  • 19.png


ダウンロードできたら、そのファイルを実行しましょう。Vista以降では、ユーザーアカウント制御による実行確認が表示されますが、「はい」を選んで次に進みます。 

5.png

最初の画面で「次へ」を選ぶと、次の画面ではインストールするオプションとインストール先の設定画面になります。ここでは、何も変更することなく先に進みます。ここで表示されているインストール先をよく覚えておきましょう。


同じバージョンのJREがインストールされていない場合、続けてJREのインストーラーが起動します。これも、特に何も変更せずに標準のパラメータのままでインストールしましょう。 

18.png

なお、JDKのインストール後、標準ブラウザが起動してユーザー登録を求めるページが表示されます。登録する必要は特に必要はないので、そのまま閉じてしまいましょう。登録しなかったからといって、ライセンス条項に反するといったことはありません。


注意

  • JDKのインストーラーを実行したときに、もし下図のようなメッセージが表示されたら、すでにそのJDKはインストール済みであることを表しています。改めてインストールする必要はないので、「いいえ」を選んで次の作業に進みましょう。 3.png

インストールされたファイルの確認

知恵袋に寄せられる質問の中には、JDKはインストールしたがどこにあるのかわからないといったものも多くあります。ここで、インストールされたファイルがどこに存在しているのかを確認してみましょう。


前項のJDKのインストーラーでは、「C:Program FilesJavajdk1.7.0_13」がインストール先となっていました(末尾の13はupdateの番号を表しています。異なるupdateをインストールしたときはここの数字も変化します)。エクスプローラーでそのフォルダーを開き、更にそこに作られたbinフォルダーを開いてみましょう。ここに、Javaで作られたソフトウェアを実行するためのjava.exe、Java言語で記述されたソースファイルをコンパイルするためのjavac.exe、GUIアプリケーション上でJavaソフトウェアを実行するためのjavaw.exeなど、重要な実行ファイルが揃っています。このノートの最初の図で実行できなかったjavacコマンドは、ここに存在するのです。 

4.png

なお、アドレスバーの部分がパス(ファイルやフォルダーの場所を表す文字列のこと)表示になっています。Windows 7のエクスプローラーでは、アドレスバーの空欄部分や、左側のフォルダーアイコンの部分をマウス左クリックすると、アドレスバーの中がパス表示に変わります。これも豆知識として記憶しておくと良いでしょう。


非公開JREと公開JRE

ここからはちょっと余談です。


JDKをインストールすると、インストール先のフォルダーの下にjreという名前のフォルダーが存在します。これは、このJDKの付属ツールが利用するための非公開JREと呼ばれます。それに対して、別途インストールしたJREは、他のアプリケーションから利用できる公開JREと呼ばれます。公開JREをインストールすると、WindowsのシステムフォルダーにもJavaを実行するための最低限の実行ファイルや、ブラウザのプラグインとなるDLLファイルがインストールされ、さらにレジストリの更新も行われます。よって、レジストリを参照してJavaの実行環境の有無を検出しているアプリケーションは、JDKのインストールだけでは利用できません。


ところで、64bit版Windowsには、32bit版のJDKやJREをインストールすることも可能です。JDKに関してはデフォルトで「C:Program Files (x86)Java」の下にインストールされるということ以外は、64bit版JDKとシステム上の扱いとしてはさほど違いはありません。これをそのまま用いて開発することも可能です。


一方、JREについては大きな違いがあり、64bit版Windows上で動作させる32bitアプリケーションがJavaを利用するときには、32bit版の公開JREを必要とすることがあります。64bit版Windows 7に付属しているInternet Explorer 9は、標準では32bit版が使用されるようになっています(64bit版のInternet Explorer 9も付属していますが、標準にはなっておらず、スタートメニューから選択して起動する必要があります)。また、FirefoxやChromeといったサードパーティー製ブラウザも現状では32bitアプリケーションです。それらのアプリケーションでJavaの実行環境が必要な場合は、別途32bit版JREをインストールする必要があります。


環境変数

ここが大きな壁

次に環境変数を設定します。この環境変数が、初心者にとっては大きな壁のようです。


ここで必要な作業は、PATHという環境変数にjavac.exeなどのコマンドが存在する場所を設定することです。この作業に誤りがあると、コマンドプロンプトでjavacコマンドを実行しても、「内部コマンドまたは外部コマンド」というエラーメッセージから抜け出すことはできません。「何度も確認した」「設定した値に誤りはなかった」とする質問も見かけますが、動かないのは設定が誤っているからであるということは絶対に覆らない事実なのです。


環境変数というものに十分な知識がない方は、まず私が作成した知恵ノート「Windowsで環境変数を設定する」をご覧ください。


環境変数の設定

それでは、環境変数を設定してみましょう。先の知恵ノートの手順に従って、環境変数の設定画面を表示させたところから解説します。 

11.png


環境変数の設定画面には、「○○のユーザー環境変数」と「システム環境変数」の2つがありますが、ユーザー環境変数は現在ログオンしているユーザーにのみ有効な環境変数、システム環境変数は全てのユーザーに有効な環境変数となります。多くのJava入門サイトや書籍では、ここで「システム環境変数」を操作するように記しています。しかし、このノートでは「ユーザー環境変数」に設定をすることを強く推奨します。


その理由として、

  • 1台のパソコンで複数のユーザーがJDKを使った開発を行うという使用法は、Windowsにおいてはほとんどないと思われる。
  • 故に、ユーザー環境変数に設定を加えれば、目的は十分達することができる。
  • システム環境変数側のPATHの設定を変更しようとして、操作を誤って元々の設定値を消してしまい、復旧ができなくなったという相談が知恵袋の質問にも度々寄せられている。
  • システム環境変数にはシステムを正常に動作させる上で重要なものが多く、誤って変数ごと消してしまうと、やはり回復が困難になることもある。慣れない人は、システム環境変数の欄そのものに一切触れない方が無難である。


といったことが挙げられます。


これまで環境変数を設定したことがなければ、ユーザー環境変数にはTEMPとTMPの2つのみが設定されていて、他には何も存在しない状態になっているはずです。まず、JDKをインストールした場所として、JAVA_HOMEという環境変数を設定してみます。ユーザー環境変数側の「新規」ボタンをクリックし、下図のように入力しましょう。 

12.png


念を押しますが、ここで「jdk1.7.0_13」と設定しているのは、今回インストールしたJDKがその名前のフォルダーにインストールされているからです。ご自身の環境ではどこにインストールされているのか、しっかり確認して正しいパスを設定しましょう。この項を見て、この画像通りの丸写しをしてはいけません


ここで「変数値」に値を入力するとき、前出のエクスプローラーのアドレスバーに表示されているパスをコピーペーストすれば、入力間違いなく確実に入力できます。JAVA_HOMEという環境変数をわざわざ設定するのは、一部のJavaを使用するアプリケーションをインストールするときにこのJAVA_HOMEを参照していること、JDKのアップデートがリリースされて改めてインストールしたときにこのJAVA_HOMEのみを修正するだけで済むようになることの2つがあります。


続いて、PATHを設定します。この時点でユーザー環境変数にPATHという環境変数が存在しなければ、同じく「新規」ボタンをクリックし、下図のように入力しましょう。 

13.png

%JAVA_HOME%とパーセント記号で囲った部分が、前出の環境変数JAVA_HOMEで設定した変数値に置き換わります。この「他の環境変数を使って環境変数を設定する」というのは非常に有用なテクニックなので、ぜひとも覚えておきましょう。


もし、ユーザー変数側にすでにPATHという環境変数が存在した場合は、そのPATHの行をクリックして反転表示させ、「編集」ボタンをクリックしましょう。 

14.png

パスを複数列挙する場合、セミコロンで区切ります。元々ある変数値の末尾にセミコロンを入力し、その後ろに%JAVA_HOME%inを入力しましょう。


これで環境変数の設定は完了です。OKを押して全てのウィンドウを一旦閉じましょう。


ポイント

  • PATHを始めとする環境変数にパスを記述するとき、空白文字を含むフォルダー名をそのまま入力しても問題はありません。コマンドプロンプトの操作では、空白文字を含むフォルダー名を入力するときにはダブルクォーテーション(")で囲む必要がありますが、環境変数の設定では必要ありません。

確認してみよう

変更した環境変数は、設定完了した後に新たに開いたタスクに対して有効になります。設定前から開いたままのコマンドプロンプトには反映されませんし、同じく設定前から開いたままのエクスプローラーからコマンドプロンプトを起動した場合も同様です。javacが実行できなかった原因がこの単純ミスであったという質問もいくつかありました。


さて、コマンドプロンプトを開いて、「javac -version」とコマンドを入力してみましょう。 

15.png

インストールしたJDKのバージョンが表示されたら成功です。これで、Javaソースファイルをコンパイルする準備が整いました。


ポイント

  • コマンドプロンプト上でコマンドを入力するとき、そのコマンドが必要とするパラメーターを入力するときは、1文字以上の空白文字を挿入する必要があります。上記の例では、「javac」と「-version」の間に空白文字が必要です。知恵袋に、本ノート通りに操作をしたのにバージョン番号が表示されないという質問が寄せられたことがありましたが、原因は空白文字を挿入していなかったことでした。これもまた、日常コマンドプロンプトを利用する機会がないための失敗と言えるでしょう。

コマンドプロンプトで動かしてみる

最も小さなプログラム

Windows付属のメモ帳などのテキストエディターを使って、次のような小さなソースファイルを作成し、Hello.javaというファイル名で保存しましょう。


class Hello {

    public static void main(String[] args) {

        System.out.println("Hello, java ");

    }

}


ここでは、Cドライブのルート直下にworkというフォルダーを予め作成し、その中にHello.javaを保存したものとします。そして、コマンドプロンプトでHello.javaを保存した場所に移動します。


C:xxxxxx>cd work


プロンプト(左端に表示されている文字列)が「C:work>」となっていることで、移動できたことが確認できます。そして、そこで


C:work>javac Hello.java


と入力しましょう。javacでは、何もエラーがなかったときは何も表示されません。そうすればコンパイルは成功で、Hello.classというファイルが作られます。ファイルが作成されたかどうかは、エクスプローラーで確認するか、コマンドプロンプトで


C:work>dir


のようにdirコマンドを使うことで下図のように確認することもできます。 

16.png


実行する

このHello.classを実行するためには、javaコマンドを使います。コンパイルしたときと同じフォルダーで、


C:work>java Hello


と入力してみましょう。拡張子classは入力する必要はありません。 

17.png


見事、printlnメソッドの引数に指定した文字列を表示させることができました。


ご意見・ご要望はお気軽にどうぞ

本ノートは、超入門としてWindowsの各種設定に不慣れな人にも環境構築ができるように、できるだけ詳細に説明することに努めました。しかし、それでも尚難しいと思われる点がありましたら、ぜひともご意見をお寄せいただければと思います。


Windowsユーザーのための超入門・Java開発環境構築(2)に続きます。


改版履歴

(2013/02/02)初版

(2013/02/02)Java SE 7 Update 13がリリースされたことに伴い、本文・画像修正

(2013/02/19)JREのインストール画面の画像を追加

(2013/02/20)加筆修正

(2013/03/07)タイトル変更、体裁崩れを修正

(2013/03/18)記述一部修正

(2013/06/26)記述一部修正(PATHの記述を画像丸写しにされる懸念回避のため)

(2013/06/27)コマンドプロンプトの入力操作の説明をちょっとだけ詳しくする

(2013/11/27)環境変数設定の詳細解説を別ノートに譲るために記述変更

(2016/04/01)公開JRE、非公開JREの記述について、現状に即していない部分を除去


このノートのライターが設定した関連知恵ノート

  • Windowsで環境変数を設定する