11

メインクラスを含む外部jarファイル(パッケージ構造を持つ)があり、次のようにコマンドラインからアプリを実行できます:

java -jar example.jar

しかし、この jar ファイルの外側にはまだ別のtest.classファイルがあり、この jar ファイル内のいくつかのクラスはtest.class. test.classコマンドラインでjarファイルが使用するファイルを指定するにはどうすればよいですか? 多くの方法を試し、常に表示:

NoClassDefFoundError for test.class

注意: test.class ファイルも example.jar ファイル内のクラス ファイルを使用し、独自のパッケージ構造を持っています。

それらを 1 つの jar ファイルにまとめることができることはわかっていますが、残念ながら、test.class ファイルを分ける必要があります。

4

3 に答える 3

15

クラスが bin ディレクトリにある場合:

java -cp xxx.jar;bin pck1.pck2.MainClass

クラスが現在のディレクトリにある場合:

java -cp xxx.jar;. pck1.pck2.MainClass

等々...

マニュアルの詳細については、少なくとも一度は読んでください... ;-)

于 2012-12-01T08:45:09.447 に答える
8

Linux システムの場合

外部 JAR とともに Java プログラムをコンパイルして実行します。

javac -cp </path/jar1>:<path/jar2>:<path/jar3> MainClass.java

コンパイラが非推奨の警告をスローする場合。-Xlint:deprecation引数を使用して再コンパイルできます。

javac -Xlint:deprecation -cp </path/jar1>:<path/jar2>:<path/jar3> MainClass.java

最後に、Java プログラムを実行します。

java -cp </path/jar1>:<path/jar2>:<path/jar3>:. MainClass

Java プロセスをバックグラウンドで実行する場合。nohupを使用できます。

nohup java -cp </path/jar1>:<path/jar2>:<path/jar3>:. MainClass &
于 2016-05-24T11:00:07.633 に答える