web-dev-qa-db-ja.com

クラスパスにjarを含むJavaクラスを実行する方法は?

だから、私はこれを非常にうまく行うことができます:

Java mypackage.MyClass

もし./mypackage/MyClass.classが存在します。私はこれを楽しくすることもできます:

Java -cp myjar.jar mypackage.MyClass

クラスファイルがjarの適切な部分に存在する場合。簡単なこと。しかし、私は私の人生のためにこのようなことをなんとかすることができません:

Java -cp utilities.jar mypackage.MyClass

どこ ./mypackage/MyClass.classが存在し、./utilities.jarは存在します(もちろん、MyClassは含みません)。

私はバカになりそうですか?

25
amara

おそらく:)

# On Unix
Java -cp utilities.jar:. mypackage.MyClass

# On Windows
Java -cp utilities.jar;. mypackage.MyClass

基本的には.(現在のディレクトリ)とクラスパスおよびjarファイル。

53
Jon Skeet

あなたがWindowsを使っているならこれを試してください:

Java -cp .;utilities.jar mypackage.MyClass

または、Linuxを使用している場合:

Java -cp .:utilities.jar mypackage.MyClass

-cpの値を指定した場合、デフォルトでは現在のディレクトリはCLASSPATHにありません。

7
duffymo