Java でクラスパスを設定する
- Java でクラスパスを設定するにはどうすればよいですか
- Java でのクラスパスの設定
- 環境変数を使用したクラスパスの設定
- 
          
            コマンドラインから classpathを設定する
- 
          
            -classpathオプションを使用したクラスパスの設定
- クラスパスの表示
- まとめ
 
このチュートリアルでは、Java でクラスパスを設定する手順を紹介し、トピックを理解するためのサンプルコードをいくつか示します。
Java でクラスパスを設定するにはどうすればよいですか
多くの場合、外部クラスまたはユーザー定義クラスをインポートして、現在のクラスで使用できるようにします。import ステートメントは、Java でこれを行うために使用されます。
import org.projects.DemoClass;
DemoClass dc = new DemoClass();
JVM がシステム上のすべてのディレクトリを調べて、適切なクラスを見つけることは不可能です。JVM は、クラスパスを使用して、必要なクラスと jar を見つけます。このチュートリアルでは、Java でクラスパスを設定する方法を学習します。
Java でのクラスパスの設定
- クラスパスを環境変数として設定できます。または、コマンドラインを使用してこれを行うこともできます。
- 始める前に、クラスパスのデフォルト値が現在のディレクトリであることを知っておく必要があります。ドット(.)を使用して設定します。クラスパスを変更すると、このデフォルト値が変更されます。現在のディレクトリにクラスまたは jar が存在する場合は、現在のディレクトリをクラスパスに含めます。
- 区切り文字を使用して、複数のクラスパスを指定できます。Windows OS を使用している場合、区切り文字はセミコロン(;)です。Linux / Unix ベースのシステムを使用している場合は、コロン(:)が区切り文字として使用されます。
以下のコードはこれを示しています。現在のディレクトリのすべてのクラス(ドットを使用)と 2つの JAR ファイルを含めようとしています。
.;C:\javaProjects\someJAR.jar;C:\javaOldProjects\someOldJAR.jar //For Windows
.:/javaProjects/someJAR.jar:/javaOldProjects/someOldJAR.jar   //For Linux/Unix
- クラスパスには、jar ファイルへのパスとクラスの最上位パッケージへのパスを含めることができます。たとえば、DemoClass.class ファイルのパスが C:\javaProjects\org\projects\DemoClass.classの場合、クラスパスをC:\javaProjectsに設定し、次のインポートステートメントを使用できます。
import org.projects.DemoClass;
環境変数を使用したクラスパスの設定
必要な jar ファイルとクラスファイルが常に含まれる固定の場所がある場合は、環境変数にクラスパスを追加することをお勧めします。システムの環境変数を見つけて、存在しない場合は CLASSPATH 変数を追加する必要があります。次に、jar とクラスのすべてのパスを追加します。
Windows システムでは、
- コンピュータアイコンをクリックし、左上隅からプロパティを開きます。
- [システムの詳細プロパティ]> [詳細]> [環境変数]をクリックします。
- CLASSPATH変数を見つけて、それにパスを追加します。- CLASSPATH変数がない場合は、最初に変数を追加する必要があります。
コマンドラインから classpath を設定する
Windows で set CLASSPATH コマンドを使用して、クラスパスを設定できます。Windows ではセミコロンを使用して異なるパスを区切る必要があります。以下の例では、現在のディレクトリと JAR ファイルをクラスパスに追加しています。
$ set CLASSPATH=.;C:\javaProjects\someJAR.jar
Linux / Unix では、export CLASSPATH コマンドを使用してクラスパスを設定できます。複数のパスの区切り文字としてコロンを使用します。
$ export CLASSPATH=.:/javaProjects/someJAR.jar
-classpath オプションを使用したクラスパスの設定
-classpath または -cp オプションを使用して、クラスファイルをコンパイルおよび実行するときにクラスパスを設定できます。以下のコードはこれを示しています。
$ javac -classpath .;C:\javaProjects\someJAR.jar SomeClass.java
$ java -classpath .;C:\javaProjects\someJAR.jar SomeClass
クラスパスの表示
次のコマンドを使用して、クラスパスが正常に設定されたかどうかを確認できます。
Windows の場合:
echo %CLASSPATH%
Linux / Unix ベースのシステムの場合:
echo $CLASSPATH
まとめ
クラスパスは、JVM がクラス、JAR ファイル、およびその他のリソースを検索する場所です。正しいクラスパスを設定することで、Java アプリケーションがスムーズに実行されるようになります。クラスパスが正しく設定されていない場合、ClassNotFoundException または NoClassDefFoundError が発生する可能性があります。環境変数を設定するか、コマンドラインを使用してクラスパスを設定できます。クラスパスにグローバル環境変数を設定することはお勧めしません。コマンドラインから -cp または -classpath オプションを使用して、クラスパスを指定することをお勧めします。グローバル構成が変更されていないことを確認します。