1

これはすでに非常に古くて一般的な質問であることは知っていますが、それでもうまくいきません!

Intellij を使用して Windows 7 で Java プログラムを開発しています。コンパイル時にアーティファクトのファイル出力を追加して、jar を生成します。このプログラムは IDE で正常に動作するので、IDE を使用せずにコマンド ラインで実行したいと考えています。

ディレクトリ構造は次のようになります。

計画

-out

--ProjectName

---project.jar

-lib (under lib there are all the jar libraries used in the project)

-..

(上記の構造を理解していただければ幸いです)

そこで、project.jar があるディレクトリに入り、次のように入力します。

java -cp ..\..\..\lib -jar project.jar

そして例外のエラーメッセージが表示されますが、NoClassDefFoundError実際にはクラスは lib ディレクトリの下の jar に含まれています。

これはかなり単純なはずですが、機能させることはできません。

助けてください!とても有難い!

4

4 に答える 4

1

私は同様の問題に直面しました..そして解決策を見つけました..これがすでに与えられているかどうかはわかりません..そうであれば無視してください..シナリオは、JAVAのクラス名とともに実行されるMavenパッケージファイル(jar)に基づいています学習者。したがって、このために次のコマンドを使用します: java -classpath jarfile packagename.classname 例: java -classpath target\MavenTest-1.0-SNAPSHOT.jar org.first.edu.App

于 2015-01-22T18:02:40.260 に答える
0

java -cp ..\..\..\lib\*.jar -jar project.jarすべてのjarを個別にリストしたくない場合は試してください

于 2013-08-09T17:51:54.850 に答える
0

まず、jarが保存されているディレクトリからコマンドを実行していることを確認してから、コマンド プロンプトで次のコマンドを入力します。

java -cp "<-あなたのJar名:Jar Lib>" <-あなたのパッケージ名とメインクラス->

:-

java -cp "project.jar:lib/*" com/foo/bar/main

于 2013-08-10T11:13:27.787 に答える