2012-04-16 2 views
0

Maven Java 프로젝트 (예 : X & Y)가 있고 프로젝트 Y의 의존성 목록에 Y를 추가했습니다 (POM 파일). Y를 클래스 X로 가져 왔습니다. . 그리고 항아리가 m2 repositorhy에 설치되고 maven 빌드가 컴파일시 오류없이 성공적으로 실행되지만 런타임에 클래스의 NoClassDefFoundError가 발생합니다 ...이 문제를 해결하는 데 도움을주십시오.NoClassDefFoundError 실행시 java 프로젝트에서 Maven을 사용합니다.

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

감사 스리 칸스

+0

당신 X에 대한 pom 파일을 게시해야합니다. – Attila

답변

0

커맨드 라인을 구축하고 Eclipse에서 실행하려고합니까? M2e는 그렇게하지 않습니다. 깨끗하고 모든 일식에서 귀하의 모든 프로젝트를 다시 작성한 다음 실행 해보십시오.

1

이 문제는 응용 프로그램이 의존하는 아티팩트 중 하나의 선택적인 종속성 문제입니다.

어쨌든,이 문제를 해결하는 일반적인 방법은 다음과 같습니다 예외 메시지에 따라 누락 어떤 클래스

  • 그림 밖으로, JAR 파일에 포함 된 또는 누락 된 클래스를 포함해야하는지
  • 그림 밖으로,
  • Maven 그룹/아티팩트/버전이 누락 된 JAR에 해당하는지 파악하고
  • 프로젝트의 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

관련 문제