web-dev-qa-db-ja.com

クラスパスのフォルダーを設定

コマンドラインから、Java CLASSPATHオプションを複数のjarファイルを含む1つ以上のディレクトリを指すように設定するにはどうすればよいですか?再帰的なディレクトリおよびサブディレクトリのサポートにワイルドカードはありますか?

(私のJARファイルはいくつかのサブディレクトリに分類されています。)

44
Sam

Java 6以上を使用している場合、この形式のワイルドカードを使用できます。

Java -classpath ".;c:\mylibs\*;c:\extlibs\*" MyApp

すべてのサブディレクトリlib\a \、lib\b \、lib\c \を追加する場合は、次の場合を除き、このメカニズムはありません。

Java -classpath ".;c:\lib\a\*;c:\lib\b\*;c:\lib\c\*" MyApp

あなたがしたい仕事の種類にlib\*\*lib\**ワイルドカードのようなものはありません。

62
msi

コマンドを次のように使用します

Java -classpath ".;C:\MyLibs\a\*;D:\MyLibs\b\*" <your-class-name>

上記のコマンドは、TestClassという名前のクラスを実行するために、言及されたパスをクラスパスに1回だけ設定します。

複数のクラスを実行したい場合は、これに従うことができます

set classpath=".;C:\MyLibs\a\*;D:\MyLibs\b\*"

この後、単に入力するだけで、必要な数のクラスを実行できます

Java <your-class-name>

上記のコマンドは、コマンドプロンプトを閉じるまで機能します。ただし、コマンドプロンプトを閉じた後、コマンドプロンプトを再度開いていくつかのクラスを実行しようとする場合は、上記の2つの方法のいずれかを使用してクラスパスを再度設定する必要があります(1つ目のクラスと2つ目のメソッドを実行する最初のメソッドより多くのクラスを実行するための1つ)

Classpthを1回だけ設定して、常に機能するようにするには、次のようにします。

1. Right click on "My Computer" icon
2. Go to the "properties"
3. Go to the "Advanced System Settings" or "Advance Settings"
4. Go to the "Environment Variable"
5. Create a new variable at the user variable by giving the information as below
    a.  Variable Name-     classpath
    b.  Variable Value-    .;C:\program files\jdk 1.6.0\bin;C:\MyLibs\a\';C:\MyLibs\b\*
6.Apply this and you are done.

これは毎回機能することを忘れないでください。クラスパスを何度も明示的に設定する必要はありません。

注:ある日後に他のライブラリを追加する場合は、「環境変数」の「変数値」の最後にセミコロンを追加し、新しいライブラリのパスを入力することを忘れないでくださいセミコロンの後。セミコロンは異なるディレクトリのパスを分離するためです。

これがお役に立てば幸いです。

6
Chandra Sekhar