2012-04-16 6 views
0

私はmaven Javaプロジェクト(たとえばX & Y)を持っていて、プロジェクトX(pomファイル)の依存リストにYを追加し、YをクラスXにインポートしました。 maven repositorhyにjarファイルがインストールされていて、コンパイル時にエラーなしで正常にビルドされますが、実行時にクラスのNoClassDefFoundErrorが発生しています。この問題を解決するにはどうすればいいですか。実行時にNoClassDefFoundErrorを使用しています。

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

おかげ スリカンス

+0

ますXのpomファイルを投稿する必要があります – Attila

答えて

0

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

1

これは、アプリケーションが依存している成果物の1つにオプションの依存関係があると考えられます。

とにかく、これを解決するための一般的なアプローチは次のとおりです。例外メッセージに基づいて欠けているものをクラス

  • フィギュアうち、JARファイルが含まれているか欠落しているクラスを含めるべきか
  • フィギュアうち、
  • 欠落しているJARに対応するMavenグループ/案件/バージョンを把握し、
  • プロジェクトのPOMファイルに対応する依存関係を追加します。
2

Xプロジェクトは「jar」プロジェクトですか、「war」プロジェクトですか?

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

もしそうなら、あなたはクラスパスにY.jarを使用してXのプロジェクトを実行する必要がある、または「ジャーと依存関係」、下記を参照としてあなたのXプロジェクトをビルドし、次のいずれか

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

関連する問題