1. 문제 상황
Eclipse에서 웹 프로젝트를 실행했을 때 다음과 같은 오류가 발생했다.
오류: 기본 클래스 org.apache.catalina.startup.Bootstrap을(를) 찾거나 로드할 수 없습니다.
원인: java.lang.ClassNotFoundException: org.apache.catalina.startup.Bootstrap
프로젝트의 Java Build Path에는 Tomcat 8.5가 등록되어 있었고, Servers 탭에서는 Tomcat 9.0을 사용하고 있었다.
2. 원인 분석
Eclipse에서 Tomcat을 사용할 때는 다음 두 설정이 동일해야 한다.
| 설정 위치 | 설명 |
| Java Build Path > Libraries | 컴파일 시 참조하는 Tomcat API 라이브러리 |
| Servers > Tomcat x.x | 실제 실행 시 사용하는 Tomcat 버전 |
이 설정이 불일치할 경우, 런타임 시점에 Tomcat 관련 클래스가 누락되어 오류가 발생한다.
3. 해결 방법
- Tomcat 버전 일치
- Servers에서 사용 중인 Tomcat 버전을 확인하고, Java Build Path의 라이브러리도 동일한 버전으로 설정한다.
- Tomcat 라이브러리 재등록
- Java Build Path > Libraries 탭에서 기존 Tomcat 8.5 관련 항목을 제거한다.
- Add Library → Server Runtime → Apache Tomcat v9.0 선택하여 추가한다.
- Targeted Runtimes 설정
- Project → Properties → Targeted Runtimes에서 Tomcat 9.0을 체크한다.
- 기존에 체크된 Tomcat 8.5는 해제한다.
- Deployment Assembly 확인
- Project → Properties → Deployment Assembly에서 Tomcat 관련 항목이 포함되어 있는지 확인한다.
- 프로젝트 재정비
- 프로젝트 Clean, Build 후 Tomcat 서버에서 프로젝트를 재등록한다.
4. 실행 결과
위 설정을 적용한 후 프로젝트가 정상적으로 배포되었고, 로컬 서버에서 웹 애플리케이션이 정상 실행되었다.
5. 정리
Tomcat을 Eclipse에서 사용할 경우 다음 항목들을 일관되게 맞춰야 한다.
| 항목 | 설명 |
| Java Build Path | 서버에서 사용하는 Tomcat 버전과 동일한지 확인 |
| Targeted Runtimes | 프로젝트가 연결된 런타임이 맞는지 확인 |
| Deployment Assembly | Tomcat 서버가 프로젝트에 제대로 포함되어 있는지 확인 |
728x90
반응형
'Java' 카테고리의 다른 글
| [Java] Null Check (0) | 2022.11.25 |
|---|---|
| [Java] JSON 변환 라이브러리 Jackson에 대해 (0) | 2022.11.22 |
| [Java] 예외처리 (0) | 2022.09.22 |
| [Java] 빌더 패턴(Builder Pattern)에 대해 (0) | 2022.08.30 |
| [Java] Ubuntu에 AdoptOpenJDK 설치 (0) | 2022.08.10 |