私は実行可能なjarファイルで奇妙な問題を解明しようとしています: xyz.jarはマニフェストファイル/のクラスパスを持ち、abc.jarライブラリに依存しています。javaマニフェストのクラスパスと-classpathの比較
残念ながら、xyz.jarのマニフェストクラスパスは正しくありません。 java -jarの代わりにjava -classpath path/abc.jar:etcを使用するように実行コマンドを更新しています。
問題は、abc.jarがxyz.jar malfuntionsにないことです。クラスパス。 abc.jarが削除されると、プログラムは正しく実行され、例外はスローされません。 なぜですか? xyz.jarは他の場所からabc.jarを取得する必要があります。 xyz.jarはabc.jarのメソッドを呼び出します。
-classpathは、$ CLASSPATH設定を上書きする必要があります。 -classpathを使用していても、javaがマニフェストクラスパスを見ている可能性はありますか?
正しくない-jarを使用すると、他のすべてのクラスパスは無視されます。 – EJP