프로그래밍/JSP

java.lang.NoClassDefFoundError: org/apache/jsp

RECORD :D 2019. 2. 2. 22:46

java.lang.NoClassDefFoundError: org/apache/jsp 에러에 대해서 알아보자


결론부터 말하자면 jsp파일을 컴파일 하고 저장된 java파일과 class파일의 이름이 jsp파일의 이름을 바꿨는데도 시스템에서 수정되지 않아 생기는 오류이다.

에러를 자세히 보면 jsp 폴더 안에 있는 board/boardWrite_jsp 파일이 wrong name: org/apache/jsp/board/BoardWrite_jsp 

즉,  잘못된 이름의 파일이 저장되어 있다는 뜻으로 해석 가능하다. 이를 해결하기 위해 



서버를 더블 클릭 한뒤



그림과 같이 Open launch configuration을 클릭.



Arguments를 클릭 한 뒤 Dctalina. base나 Dctalina.home 의 파일 경로를 복사 한뒤 파일을 열어 붙여 넣기 한다.

그러고 난뒤 work->Catalina -> localhost -> 자신이 하고 있는 프로젝트명의 파일 -> org -> apache -> jsp  순으로 파일을 이동한다.

C:\Users\kim\Downloads\apache-tomcat-9.0.10\apache-tomcat-9.0.10\work\Catalina\localhost\start_project\org\apache\jsp

    빨간색 글자로 표시한 부분이 각자의 파일을 차이점이 될 것이다. 
이제 jsp 파일안에 들어있는 java파일과 class파일들을 삭제한뒤 다시 컴파일을 실행시키면 오류가 해결 될 것이다.