コマンドラインからJavaプログラムを実行する場合、アプリケーションを構成するクラス・ファイルおよびライブラリへのパスのリストをJava Virtual Machine(JVM)に提供する必要があります。クラスパスの構成は、Javaプログラムの実行方法によって異なります。
JavaクラスはJavaアーカイブ・ファイル(*.jar
)に格納するか、各パッケージ・ディレクトリの個別のクラス・ファイル(*.class
)として格納します。JavaでのJARファイルとパッケージ・ディレクトリの処理方法は異なります。
CLASSPATH
でJARファイルを参照する場合、JARファイルへの完全修飾パスを使用します。
CLASSPATH
でパッケージ・ディレクトリを参照する場合、パッケージの親ディレクトリへのパスを使用します。
CLASSPATH
文では、JARとパッケージ・ディレクトリの両方を参照できます。同じ文で複数のCLASSPATH
を参照する場合は、各CLASSPATH
をセミコロン(;)で区切ります。
クラスパスの定義後、Javaプログラムの実行方法によってJVMへ値を渡す方法は異なります。
Sun社によると、SDKツールをコールする際に-classpath
オプションを使用する方法(推奨)、またはCLASSPATH環境変数を使用する方法を選択できます。詳細は、java.sun.com/j2se/1.4/docs/tooldocs/windows/classpath.html
を参照してください。
Java2 Standard Edition(J2SE)にはjava.exe
が含まれています。これは開発ツールとして使用するためのファイルで、Javaプログラムとともに配布するためのライセンスは供与されていません。コマンド・プロンプト画面からJavaアプリケーションをテストする際に使用します。
コマンド・プロンプト画面からJavaアプリケーションを実行するには、プログラムの実行に必要なすべてのクラスが含まれるように、システム環境変数CLASSPATH
を定義する必要があります。これには、プログラムで使用される、JDeveloperによって提供されるすべてのライブラリ・クラスが含まれます。
JDeveloperには、Javaプログラムの生成に役立つ数百のライブラリ・クラスが付属しています。クラスは、Sun Microsystems J2SE、サード・パーティの開発者、オラクル社から提供されます。各ライブラリは、アップグレードを容易に行うために個別に管理されます。このため、JDeveloperで作成するプログラムをコマンド・プロンプト画面から実行するには、クラスパスに多数のアーカイブ・ファイルを含める必要があります。
プロジェクトで使用される各ライブラリへのパスのみをリストに含めることをお薦めします。プロジェクトで使用されないパスをリストに含めた場合でもプログラムは起動しますが、パフォーマンス上の理由から、不要なライブラリはすべて排除してください。
CLASSPATH
変数を設定するコマンドの書式は次のとおりです。
set CLASSPATH=path1;path2;path3;...path_n
注意: パスの1つにスペースが含まれる場合でも、クラスパスに引用符を使用しないでください。
出力パスにデフォルトのディレクトリを使用した場合、クラスパスに次のディレクトリを追加し、java.exe
を使用してJavaアプリケーションをテストできます。
C:\<jdev_install>\jdev\mywork\Workspace1\Project1\classes
この変数を設定することで、java.exe
を使用して、出力ディレクトリmywork
からアプリケーションを実行できます。
Javaプログラムを他のディレクトリにデプロイした場合、アプリケーション・パッケージの親ディレクトリへのパスを追加する必要があります。
CLASSPATH
変数は長い文字列であるため、入力を誤る可能性があります。CLASSPATH
をシステム環境変数として設定すると、入力時間と入力ミスを減らすことができます。
Javaランタイム・エンジン(java.exe
)では、CLASSPATH
環境変数は使用しません。CLASSPATH
を、java.exe
コマンドのパラメータとして使用する必要があります。コマンドの書式は次のとおりです。
java -cp <classpath> package.Application
classpath
は、Javaプログラムおよびプログラムで使用される依存クラスへの完全なCLASSPATH
です。CLASSPATH
ディレクトリ名にスペースが含まれない場合、引用符は使用しなくてもかまいません。
アプレットを実行する場合、ブラウザによって、ホストの*.html
ファイルの<APPLET>
タグにARCHIVE
およびCODEBASE
パラメータで指定するCLASSPATH
が提供されます。
CODEBASE
パラメータでは、インターネット・ブラウザがクラス・ファイルを検索するルート・ディレクトリを設定します。クラスがアプレットをコールするHTMLページと同じディレクトリに格納されている場合、CODEBASE
パラメータを省略できます。異なるディレクトリに格納されている場合は、HTMLファイルからCODEBASE
ディレクトリの場所までの絶対パスまたは相対パスを使用します。ディレクトリを示す場合、円記号(\
)ではなくフォワード・スラッシュ(/
)を使用します。
ARCHIVE
パラメータでは、アプリケーションで使用するCLASSPATH
と同様、プログラムおよびプログラムをサポートするライブラリ・ファイルを含むJARファイルの場所と名前のリストを指定します。これらには3つの重要な違いがあります。
;
)ではなくカンマ(,
)で区切られます。
CODEBASE
のサブディレクトリに格納されている場合、ディレクトリを示すには、円記号(\
)ではなくフォワード・スラッシュ(/
)を使用します。
ARCHIVE
パラメータが参照するクラスは、CODEBASE
ディレクトリのサブディレクトリにのみ置くことができます。つまり、親ディレクトリ(../
)を使用してアーカイブ・ファイルの場所を設定しようとすると、セキュリティ違反エラーが発生します。
Copyright © 1997, 2006, Oracle. All rights reserved.