java.lang.NoSuch FieldError 와 NoSuch MethodError

java.lang.NoSuchFieldError
java.lang.NoSuchMethodError
이 잘못 은 가끔 만 나 기도 하고,만 나 는 것 이 영문 도 모 르 고 Maven 을 사용 하 는 과정 에서 더 쉽게 나타 날 수 있 습 니 다.
이 잘못 이 발생 한 것 은 단지 한 가지 상황 일 뿐이다.
같은 jar 패 키 지 를 컴 파일 하고 실행 하 는 중 입 니 다.
실행 중인 jar 패키지 에는 이 필드 나 방법 이 포함 되 어 있 지 않 습 니 다.
그래서 IDE 에 오류 가 없 지만 실행 에 오류 가 발생 합 니 다.
왜 이러 지?
다음 두 가지 상황 이 있 을 수 있 습 니 다.
4.567917.프로젝트 에 같은 jar 패키지 의 다른 버 전이 있 기 때문에 컴 파일 과 실행 시 서로 다른 jar 패 키 지 를 사 용 했 습 니 다
4.567917.당신 이 사용 하 는 maven,프로젝트 의 의존 도 는 서로 다른 버 전의 가방 을 사 용 했 기 때문에 마지막 으로 포장 할 때 사용 하 는 것 은 당신 이 필요 로 하 는 버 전이 아니 기 때문에 오류 가 발생 할 수 있 습 니 다
어떻게 해결 합 니까?
위의 원인 을 알 고 해결 하 는 것 도 쉽다.
첫 번 째 는 jar 가방 이 중복 되 는 지 확인 하고 필요 한 버 전 만 남 기 는 것 입 니 다.
두 번 째 Maven 은 약간 복잡 합 니 다.의존 도 를 찾 아야 하기 때문에 의존 도가 있 을 수 있 습 니 다.IDEA 를 사용 하면 오른쪽 단 추 를 눌 러 의존 도 를 만 들 수 있 습 니 다Ctrl+F가방 의 이름 을 검색 한 다음 에 의존 도 를 차단 하 는 것 을 판단 할 수 있 습 니 다.만약 당신 이 사용 하 는 Eclipse 가 보기 에 의존 하 는 것 이 IDEA 보다 편리 하지 않 을 수도 있 습 니 다.모 르 면 하나씩 찾 아야 합 니 다.

좋은 웹페이지 즐겨찾기