Dev/Springboot

java.lang.ClassNotFoundException 오류 수정

린네의 2023. 10. 19. 21:01


실습내용
 
 서블릿 컨테이너 초기화 후 애플리케이션 초기화가 되는 과정 확인
 


1) 실행했는데 spring/hello-spring 호출시 404 에러 발생 

Caused by: java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext


> 스프링 라이브러리를 제대로 못 읽어 오는 건가 싶어서 
  Settings >  Build, Excution, Deployment > Build Tools > Gralde 에서 


'Build and run using', 'Runt tests using' 을 IntellJ IDEA 로 변경 후 NoClassDefFoundError 은 사라짐


2) java.io.IOException: java.lang.ClassNotFoundException: hello.container.MyContainerInitV1 오류 추가 발생 


> 1) 번에서는 그래도  jakarta.servlet.ServletContainerInitializer 에서 작성한 서블릿 컨테이너 초기화 코드까지는 실행이 되었는데, 2) 번은 아예 실행 조차 안되어서 Settings 에서 변경한 'Build and run using', 'Runt tests using' 를  'Gralde ( default )' 로 변경해줌 




해결방안

아무리 생각해도 설정한 spring 라이브러리 자체를 못읽어 오는 것 같아서 tomcat 설정을 다시봄 

'user classpath of module'  항목을 server 에서  server.main 으로 변경 후 정상적으로 되는 것 확인 함