2

私はmaven Javaプロジェクト(XとYなど)を持っていて、プロジェクトX(pomファイル)の依存関係リストにYを追加し、YをXのクラスにインポートしました...そしてjarはm2リポジトリとmavenビルドにインストールされますコンパイル時にエラーなしで成功しますが、実行時にYのクラスに対してNoClassDefFoundErrorをスローしています...このmavenは初めてです問題を解決するのを手伝ってください..

java.lang.NoClassDefFoundError: ../nw_diagnosis/SocketExceptionHandler

ありがとう

4

3 に答える 3

2

あなたの X プロジェクトは "jar" プロジェクトですか、それとも "war" プロジェクトですか?

jar をビルドする場合、Y プロジェクト (これは jar であると仮定します) は X プロジェクトのクラスパスに含まれません。これは通常の動作です。

その場合、クラスパスに Y.jar を指定して X プロジェクトを実行するか、X プロジェクトを「jar-with-dependencies」としてビルドする必要があります。以下を参照してください。

http://www.springone2gx.com/blog/scott_leberknight/2008/06/creating_executable_jars_using_the_maven_assembly_plugin

于 2012-04-16T13:51:19.833 に答える
1

これは、アプリケーションが依存しているアーティファクトの 1 つのオプションの依存関係に問題があると思われます。

とにかく、これを解決するための一般的なアプローチは次のとおりです。

  • 例外メッセージに基づいて欠落しているクラスを特定し、
  • どの JAR ファイルに欠落しているクラスが含まれているか、または含まれている必要があるかを判断します。
  • 不足している JAR に対応する Maven グループ/アーティファクト/バージョンを特定し、
  • 対応する依存関係をプロジェクトの POM ファイルに追加します。
于 2012-04-16T11:42:11.823 に答える
0

コマンド ラインでビルドしてから、Eclipse で実行しようとしていますか? M2eはそれが好きではありません。Eclipse内からすべてのプロジェクトをクリーンアップして再構築してから、実行してみてください。

于 2012-04-16T11:37:16.807 に答える