コマンドライン (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 クラスパスでのワイルドカード処理のエスケープ
ありがとう。