0

コマンドライン (Java 7.0、Windows XP) から Java クラスを開始しようとしています。クラスは jar にパッケージ化され、実行に必要な他の jar と共に実行環境にデプロイされます。冗長にならないように (そしてめったに変更されない可能性のある jar のリストをハードコーディングしないように)、ワイルドカードを使用しようとしています。次のコードが機能しない

java -cp ../classes/* some.package.Main

そのディレクトリの最初のjarから「メインクラスが見つからないか、ロードできませんでした」と表示されます。Java は他の jar で私のクラスを探しません。クラスパスとパッケージ名
を理解するに従ってくださいね。

jarファイルを明示的に設定すると、すべて正常に動作します

java -cp ../classes/playground.jar some.package.Main

しかし、他のjarにはメインクラスもあり、構成されたクラスパスと環境変数などを含む開始スクリプトを1つだけ持ち、開始する引数としてクラス名のみを入れたいため、これは私には合いません。

最初のコマンドラインの何が問題になっていますか?

解決済み: Java クラスパスでのワイルドカード処理のエスケープ

ありがとう。

4

2 に答える 2

0

マニフェストを作成し、どのクラスがメイン クラスであるかを定義する必要があります。ここに参照があります。

于 2012-07-21T13:34:33.120 に答える
0

メインクラスを持つjarを実行するには:

java -jar ../classes/playground.jar 

やってみます

于 2012-07-21T13:34:52.760 に答える