Revised: Apr./19th/2003; Since: Dec../21st/2001
Java は Sun Microsystems が開発し、メンテナンスしています。開発環境も Sun Microsystems が無料で公開しています。
開発環境には、コマンドラインで利用するものと、ビジュアル開発環境である統合開発環境 IDE (Integrated Development Environment) がありますが、本稿ではコマンドラインしか使いません。
ビジュアル環境では、Borland の "JBuilder"、 IBM の "WebSphear Studio Application Developer (WSAD)"、Open Source の "Eclipse"、 Sun Microsystems 純正の "Sun ONE Studio (Forte)" などがあります。
Sun Microsystems が公開している Java2 の開発環境には三つの種類があります。
これらの違いについては別項で説明しますが、本稿では最も標準的な Standard Edition (J2SE) を利用します。
J2SE の最新バージョンは、2003 年 3 月現在 1.4.1 (日)です。1.4.1 は 2002 年 3 月に正式公開版がリリースされました。ちなみに、v 1.3 の最新は 2003 年現在 v1.3.1_07 です。
ここでは、 Sun Microsystems の J2SE の導入方法を紹介します。 Java はソースコードをバイトコードと呼ばれるフォーマットにコンパイルしてから、それを JVM と呼ばれるソフトウェア上で実行します。この JVM と、コアパッケージと呼ばれる標準クラスのライブラリを含めて、 Java プラットフォームと呼んでいます。 Java プラットフォームの最も標準的なものが J2SE (Java 2 Platform, Standard Edition) になります。
J2SE の最新版は、 2003 年 3 月現在、1.4 です。雑誌付録の CD-ROM と Sun Microsystems のウェッブ・サイトから入手できます。ここではウェブ・サイトからの入手方法を紹介します。
JRE は Java Runtime Environment の略で、 Java を実行するための環境です。 SDK は Software Development Kit の略で、 JRE に加えて開発用のコンパイラなどを含みます。ここでは、 J2SE の SDK を入手します。
※過去の SDK のファイルサイズ(目安です):
Java のライブラリの仕様書は API ドキュメントとして公開されています。 SDK と同時に、 API 仕様書も入手しておきます。
※つながらない FTP サイトも混じっているので、どこでもつながればよいということもあります。
Windows への導入方法を Sun Microsystems が公開しています(インストールガイド)。ここでも詳細に説明しておきますが、不明点があれば、Sun のインストールガイドも参照してください。
導入前に、以前の SDK が存在するならば、アンインストールしておいたほうが良いでしょう。既存のものがあってもよいのですが、 CLASSPATH などで混乱を招くので、特別に目的がある場合を除いて、既存の SDK はアンインストールするようにお勧めします。
先ほど用意した導入 *.exe ファイルをダブルクリックします。
以上で Java 2 SDK, Standard Edition 環境の導入が完了しました。
コマンドラインを開いて、コマンド "java -version
" を入力して Enter ボタンを押下してください。
C:\>java -version java version "1.4.1_02" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_02-b06) Java HotSpot(TM) Client VM (build 1.4.1_02-b06, mixed mode) C:\>
正しくインストールされていることが確認できると思います。
先ほどダウンのロードした文書の ZIP ファイル "j2sdk-1_4_x-doc-ja.zip" を解凍して適当なディレクトリに配置してください。 index.html ファイルへのショートカットをデスクトップに置いてください。ショートカットの名前は、「Java 1.4 日本語文書」など分かりやすいものにしておくと便利です。プログラミング中は、常にこの文書を参照することになります。
SDK を使えるようにするために、 OS の環境変数 CLASSPATH と PATH をセットアップします。
C:\j2sdk1.4.1_02\bin
")を追加。C:\java
")。但し、最後に ;.
を必ず追加。PATH 変数は、 java.exe
や javac.exe
などの実行ファイルへのパスを設定するものです。これが設定されていないと、Java プログラムのソース・ファイルのコンパイルやクラス・ファイルの実行のためのプログラムを実行できなくなります。
CLASSPATH 変数は、 Java プログラムのパスを設定するものです。CLASSPATH の値であるパス上に存在する *.class
ファイルは java によって自動的に探索されるようになります。特に、CLASSPATH の最後には、必ず ;.
と記述しておく必要があります。ピリオド .
は、カレント・ワーキング・ディレクトリというものを表す、特殊な記号なのです。「カレント・ワーキング・ディレクトリ」が何であるかは、ファイルシステムを参照してください。
![]() |
図:Windows XP での CLASSPATH 設定 |
---|
環境変数 CLASSPATH を例にとって、設定方法を紹介します。
Windows NT系(2000, XP)で環境変数を登録するには、「コントロール パネル」 -> 「システム」を開いて、タブ「詳細(詳細設定)」の中の、ボタン「環境変数」を押下。開いた「システムの環境変数」で、CLASSPATHを選択してボタン「編集」を押下することでセットできます。既存の定義との区切り文字はセミコロン( ;
)です。
セットした後、ボタン「OK」を押下した後に開いたコマンド プロンプトで、コマンド "set CLASSPATH
" を発行すれば、反映されていることが確認できるでしょう。
Windows 9x系(98, Me)の場合は、"c:\autoexec.bat
"をテキスト・エディタ(メモ帳)で開いて、"set CLASSPATH=xxx;xxx;xxx
"の記述の中に、*.class
ファイルを探索してほしいディレクトリの絶対パスを含めます。初めて設定する場合は、set CLASSPATH=xxxx
の行をファイル末尾に追加してください。この場合も、既存の定義との区切り文字はセミコロンです。
【例】
set CLASSPATH=C:\xerces-2_5_0\xml-apis.jar;C:\xerces-2_5_0\xercesImpl.jar;C:\xerces-2_5_0\xercesSamples.jar;.
DOSプロンプトでコマンド"c:\autoexec.bat
"を発行するか、再起動することによって反映されます。DOSプロンプトでコマンド"set CLASSPATH"を発行することで反映されていることが確認できます。
尚、Meの場合は、「スタート」->「プログラム」->「アクセサリ」->「システムツール」->「システム情報」から、「Microsoft ヘルプとサポート」を開いて、「ツール」->「システム設定ユーティリティ」 を選択して、「環境」タブの中で環境変数を設定することもできます。
CLASSPATH設定/反映後にコマンドプロンプト(DOSプロンプト)を起動して、次のコマンドにより CLASSPATH 変数が有効になったことを確認できます。
【例】
>set CLASSPATH CLASSPATH=C:\xerces-2_5_0\xml-apis.jar;C:\xerces-2_5_0\xercesImpl.jar;C:\xerces-2_5_0\xercesSamples.jar;.
今回インストールした J2SDK は、マウスによるグラフィカルな操作ではなく、コマンド・ベースで利用するものです。正しくインストールできたか確かめましょう。
Windows の場合は、「DOSプロンプト」または「コマンド プロンプト」を使います。「スタート」メニューから「プログラム」、「アクセサリ」とたどって、「コマンド プロンプト」をクリックして起動します。
![]() |
図:Windows 2000 の「コマンド プロンプト」の起動時の画面 |
カーソルが点滅しており、コマンド入力待機状態になっているので、次のコマンドを入力して Enter キーを押してください。
java -version
PATH 変数も正しくセットされていれば、次のような実行結果が返ってくるはずです。次の例の一行目の、 java -version
が、自分で入力した文字列です。
C:\>java -version java version "1.4.1_02" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_02-b06) Java HotSpot(TM) Client VM (build 1.4.1_02-b06, mixed mode) C:\>
これは Java Virtual Machine のバージョン情報です。ここでは、バージョンが 1.4.1、ビルドが 1.4.1_02-b06 とされています。うまく行かない場合は、本文書の下のほうに掲載されている問題判別を参照してください。
同じく、 java -help
と入力すれば、インタープリタを起動する java
コマンドの使い方が見られます。
C:\>java -help Usage: java [-options] class [args...] (to execute a class) or java -jar [-options] jarfile [args...] (to execute a jar file) where options include: -client to select the "client" VM -server to select the "server" VM -hotspot is a synonym for the "client" VM [deprecated] The default VM is client. -cp -classpathset search path for application classes and resources -D = set a system property -verbose[:class|gc|jni] enable verbose output -version print product version and exit -showversion print product version and continue -? -help print this help message -X print help on non-standard options -ea[: ...|: ] -enableassertions[: ...|: ] enable assertions -da[: ...|: ] -disableassertions[: ...|: ] disable assertions -esa | -enablesystemassertions enable system assertions -dsa | -disablesystemassertions disable system assertions C:\>
同じく、 javac -help
を発行すれば、 Java コンパイラである javac コマンドの使用方法を見ることができます。
C:\>javac -help 使い方: javac <options> <source files> 使用可能なオプションには次のものがあります。 -g すべてのデバッグ情報を生成する -g:none デバッグ情報を生成しない -g:{lines,vars,source} いくつかのデバッグ情報だけを生成する -nowarn 警告を発生させない -verbose コンパイラの動作についてメッセージを出力する -deprecation 推奨されない API が使用されているソースの位置を出力する -classpath <path> ユーザクラスファイルを検索する位置を指定する -sourcepath <path> 入力ソースファイルを検索する位置を指定する -bootclasspath <path> ブートストラップクラスファイルの位置を置き換える -extdirs <dirs> インストール済み拡張機能の位置を置き換える -d <directory> 生成されたクラスファイルを格納する位置を指定する -encoding <encoding> ソースファイルが使用する文字エンコーディングを指定する -source <release> 指定されたリリースとソースの互換性を保つ -target <release> 特定の VM バージョン用のクラスファイルを生成する -help 標準オプションの概要を出力する
テキスト・エディタに次のコードを貼り付けて、 C:\java に Howdy.java というファイル名で保存してください。大文字と小文字、全角と半角を区別するので、正しく入力してください。テキストエディタとは、テキスト形式のファイルを閲覧/編集/作成するツールであり、全ての OS で最初から使えるようになっています。 Windows ではメモ帳、UNIX/Linux では Vi, EMACS (MULE) などが使えるようになっています。
class Howdy { public static void main(String[] args) { System.out.println("Howdy, Java!"); System.out.println("こんにちは、Java!"); } }
コマンドラインから C:\java などの適当なディレクトリに移動して、コマンド "javac Howdy.java" を発行し、続いて "java Howdy" を発行してください。実際には次のようになります。
C:\>cd java C:\java>javac Howdy.java C:\java>java Howdy Howdy, Java! こんにちは、Java!
最初に、正しくダウンロードされたか確認してください。ダウンロードサイトでは、ダウンロードする圧縮ファイルのサイズが明記されています。これが、実際に自分の PC にダウンロードされたファイルと同じかどうか確認してください。ここで失敗していれば、なにをやってもどうにもなりません。
正しくダウンロードできていれば、次に確認するのは、正しく解凍されたかどうかです。
圧縮ファイルは解凍というプロセスで元に戻します。圧縮/解凍ツールは「窓の杜」などのサイトで多くの種類が入手できます。サイズも小さいので、色々試してみることが一番です。簡単で、対応圧縮形式が多いものを選びましょう。
次のように返されたらば、インストールディレクトリと PATH 変数の値が合っていません。PATH 変数の値の、大文字と小文字、ピリオドと下線などの区別に注意して、もう一度設定しなおして、改めてコマンドラインを起動してやり直してください。
C:\java>javac Howdy.java 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
次のように返されたらば、単に Howdy.java が存在しないことを意味します。 Howdy.java が目的のディレクトリに存在するのか、ファイル名は正しいか、コマンドラインでカレントディレクトリが目的のディレクトリに移動しているのかというあたりを確認してください。
C:\java>javac Howdy.java エラー: Howdy.java を読み込めません。 エラー 1 個
カレントディレクトリに Howdy.java があるかどうかは、次のコマンドで確認できます。
C:\java>dir /B Howdy.java Howdy.java
次のように返されたらば、 CLASSPATH が誤っています。ソースコードで、大文字と小文字が間違っていないか確認してください。CLASSPATH に . (ピリオド)が含まれているか確認してください。コマンドラインのカレントディレクトリと Howdy.class が存在するディレクトリが同じことを確認してください。
C:\java>java HowdyJava Exception in thread "main" java.lang.NoClassDefFoundError: HowdyJava
カレントディレクトリに Howdy.class があるかどうかは、次のコマンドで確認できます。
C:\java>dir /B Howdy.class Howdy.class
当該ディレクトリ内に、Howdy.java
と Howdy.class
以外が存在しなければ、次のようにすれば、二つのファイルだけがリストされるはずです。
C:\java>dir /B Howdy.class Howdy.java
上のようにして、思うように結果が返らなければ、カレントディレクトリ(上の例では C:\java
)にソースファイルやクラスファイルが存在していないことが原因です。 Howdy.java
をどこに保存したのか確認して、 cd
コマンドによって、そのファイルが存在するディレクトリまで適切に移動してから javac Howdy.java
コマンドや java Howdy
コマンドを実行してみてください。
コマンド java のオプションの -classpath
を使うことでパスを指定することもできます。コマンド "java -classpath . Howdy
" を発行して実行できるのならば、 CLASSPATH にピリオドが含まれていないことが原因だと特定できます。
C:\java>java -classpath . Howdy Howdy, Java! こんにちは、Java!
Windows 9x 系をご利用の場合は、次の設定をご確認ください。これは渡辺さんからご教示いただいた内容です。
Windows Meを使用して、かつDOSプロントのプロパティで「MS-DOSプログラムで Windowsを検出しない(P)」にチェックを入れているとPATHを設定しても
C:\WINDOWS>java -version This program cannot be run in DOS mode.
と返されてしまい、javac等も同様に返答され使用できません。また、チェックを外しDOSプロントを再起動すると治ります。