プログラム用クラスパスの設定

Javaプログラムを実行する場合、アプリケーションを構成するクラス・ファイルおよびライブラリへのパスのリストをJava Virtual Machine(JVM)に提供する必要があります。クラスパスの構成は、Javaプログラムの実行方法によって異なります。

JavaクラスはJavaアーカイブ・ファイル(*.jar)に格納するか、各パッケージ・ディレクトリの個別のクラス・ファイル(*.class)として格納します。JavaでのJARファイルとパッケージ・ディレクトリの処理方法は異なります。

クラスパスの定義後、Javaプログラムの実行方法によってJVMへ値を渡す方法は異なります。

Sun社によると、SDKツールをコールする際に-classpathオプションを使用する方法(推奨)、またはCLASSPATH環境変数を使用する方法を選択できます。詳細は、次のURLを参照してください。

http://java.sun.com/j2se/1.3/ja/docs/ja/tooldocs/win32/classpath.html

CLASSPATH環境変数の設定(java.exeの場合)

Java2 Standard Edition(J2SE)にはjava.exeが含まれています。これは開発ツールとして使用するためのファイルで、Javaプログラムとともに配布するためのライセンスは供与されていません。コマンド・プロンプト画面からJavaアプリケーションをテストする際に使用します。

コマンド・プロンプト画面からJavaアプリケーションを実行するには、プログラムの実行に必要なすべてのクラスが含まれるように、システム環境変数CLASSPATHを定義する必要があります。これには、プログラムで使用される、JDeveloperによって提供されるすべてのライブラリ・クラスが含まれます。

JDeveloperライブラリCLASSPATH

JDeveloperには、Javaプログラムの生成に役立つ数百のライブラリ・クラスが付属しています。クラスは、Sun Microsystems J2SE、サード・パーティの開発者、オラクル社から提供されます。各ライブラリは、アップグレードを容易に行うために個別に管理されます。このため、JDeveloperで作成するプログラムをコマンド・プロンプト画面から実行するには、クラスパスに多数のアーカイブ・ファイルを含める必要があります。

プロジェクトで使用される各ライブラリへのパスのみをリストに含めることをお薦めします。プロジェクトで使用されないパスをリストに含めた場合でもプログラムは起動しますが、パフォーマンス上の理由から、不要なライブラリはすべて排除してください。

CLASSPATH変数を設定するコマンドの書式は次のとおりです。

set CLASSPATH=path1;path2;path3;...path_n

注意: パスの1つにスペースが含まれる場合でも、クラスパスに引用符を使用しないでください。

プロジェクトを含めるようにCLASSPATHを設定する

出力パスにデフォルトのディレクトリを使用した場合、クラスパスに次のディレクトリを追加し、java.exeを使用してJavaアプリケーションをテストできます。

C:¥<jdev_install>¥jdev¥mywork¥Workspace1¥Project1¥classes

この変数を設定することで、java.exeを使用して、出力ディレクトリmyworkからアプリケーションを実行できます。

Javaプログラムを他のディレクトリにデプロイした場合、アプリケーション・パッケージの親ディレクトリへのパスを追加する必要があります。

CLASSPATH変数は長い文字列であるため、入力を誤る可能性があります。CLASSPATHをシステム環境変数として設定すると、入力時間と入力ミスを減らすことができます。

CLASSPATHパラメータの設定(java.exeの場合)

Javaランタイム・エンジン(java.exe)では、CLASSPATH環境変数は使用しません。CLASSPATHを、java.exeコマンドのパラメータとして使用する必要があります。コマンドの書式は次のとおりです。

java -cp <classpath> package.Application

classpathは、Javaプログラムおよびプログラムで使用される依存クラスへの完全なCLASSPATHです。CLASSPATHディレクトリ名にスペースが含まれない場合、引用符は使用しなくてもかまいません。

<APPLET>タグへのCLASSPATHパラメータの埋込み

アプレットを実行する場合、ブラウザによって、ホストの*.htmlファイルの<APPLET>タグにARCHIVEおよびCODEBASEパラメータで指定するCLASSPATHが提供されます。

CODEBASEパラメータでは、インターネット・ブラウザがクラス・ファイルを検索するルート・ディレクトリを設定します。クラスがアプレットをコールするHTMLページと同じディレクトリに格納されている場合、CODEBASEパラメータを省略できます。異なるディレクトリに格納されている場合は、HTMLファイルからCODEBASEディレクトリの場所までの絶対パスまたは相対パスを使用します。ディレクトリを示す場合、円記号(¥)ではなくフォワード・スラッシュ(/)を使用します。

ARCHIVEパラメータでは、アプリケーションで使用するCLASSPATHと同様、プログラムおよびプログラムをサポートするライブラリ・ファイルを含むJARファイルの場所と名前のリストを指定します。これらには3つの重要な違いがあります。


実行可能JARファイルのデプロイ