2016-08-24 4 views
0

Web開発にはMavenとTomcatを使用しています。それらはすべて、実行時に間違ったPATHについて言い、私はNoClassDefFoundErrorについて、いくつかの答えをチェックしjava.lang.NoClassDefFoundErrorしかし.classファイルはすでに存在しています

/api/core/dto/IDTO.class

Error message:" java.lang.NoClassDefFoundError: /api/core/dto/IDTO " .

しかし、IDTO.classはすでにとしてフォルダ内に存在している:私は、次のエラーメッセージが表示されました。何がうまくいかない?なぜ私は例外を手に入れましたか?

+0

mavenでダウンロードされたjarファイルを確認し、正しいjarファイルをダウンロードしてください – Vaseph

答えて

0

ポイントは、その画像が撮影されたディレクトリです。それは次のようになります。

  • アプリが言う、は/ opt/tomcatに/アプリケーション/ yourapp、オープンディレクトリとして展開されている場合は、/は/ opt/tomcatに/アプリケーション/ yourapp/WEB-INF /クラス内にある必要がありますapi/core/dto/IDTO.class
  • あなたのアプリが.warファイルとしてmavenでパッケージ化されている場合、クラスファイルは.war内の同様の場所にあるはずです:WEB-INF/classes/api/core/dto /IDTO.class
  • クラスが依存関係に含まれている場合(mylibrary.jarファイルなど)、WEB-INF/lib/mylibrary.jarのjarファイルが戦争の中にパックされていることを確認する必要があります。 jarファイル内では、クラスは完全修飾名に等しいパスにあります。api/core/dto/IDTO.class

.jarが.warファイル内にない場合は、依存関係を探して、依存関係にある要素が<scope>でないことを確認してください。間違った範囲は、例えば「提供された」と言って、瓶を戦争の中に詰め込まないようにします。

関連する問題