실서버 반영을 했는데,  500에러만 뜬다

누락된 파일은 없었고, 에러 로그 확인

 

=======================================================================================

07-Mar-2024 11:43:12.573 정보 [main] org.apache.catalina.core.ApplicationContext.log Initializing Spring FrameworkServlet 'action'
07-Mar-2024 11:43:14.247 심각 [main] org.apache.catalina.core.ApplicationContext.log 서블릿 [action]을(를) 위한 Servlet.init() 호출이 예외를 발생시켰습니다.
 java.lang.NoClassDefFoundError: egovframework/xxxx/aaaaa/web/JavaController$1
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
        at java.lang.Class.getDeclaredMethods(Class.java:1975)
        at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:571)
        at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:490)
        at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:474)

...  어쩌고 저쩌고 쌸라쌸라

=======================================================================================

 

아니.. 내가 반영한 파일들중에   

egovframework/xxxx/aaaaa/web/JavaController.class 얘는 있지만

egovframework/xxxx/aaaaa/web/JavaController$1.class 얘는 없는데!!! 할필요도 없는데 오 ㅐ 자꾸 못찾는다고 하는거냐고!!!!!!!!!!!!!!!!!!

 

그러다 문득 라이브러리를 추후에 반영해서.. 해당 부분이 컴파일 되지 않은건가

구글링 하니까 다들 clean해라, class폴더 삭제하고 다시 빌드해라...

이것저것 요것저것하면서 테스트하느냐 파일들을 반영하고, 원복하고 5번도 더 했다..

 

수석님 찬쓰!!!!!!!!!!!!!!!!!!!!!!!!!!! 물어본지 30초만에 해결답이 돌아왔다

JavaController$1.class 파일도 함께 반영해줘라

 

...? 도당체 왜..?

[JAVA] 내부클래스( inner class ), 익명클래스( anonymous class )

출처: https://tadaktadak-it.tistory.com/19 [타닥타닥 IT:티스토리]

 

이렇게 있다고 한다.. 

JavaController.java 파일 안에  'TypeReference' 이걸 사용 하는 부분이 있는데 ..

그 때문에 내부 클래스가 어쩌고저쩌고해서

 

컴파일하면  JavaController.class 과 JavaController$1.class  두개로 생성되고, 두개 다 반영해줘야 하는것이다 

 

또 하나 배웠다. 또 한뼘 자랐다

ㅈㅔ대로 하자 공부하자

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts