inflearn logo
강의

Course

Instructor

Spring Boot - Core Principles and Applications

Embedded Tomcat 2 - Servlet

내장톰캣2 서블릿 톰켓 실행이 안됩니다

154

c91sy4523

2 asked

1


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
여기에 질문 내용을 남겨주세요.
섹션 4 내장톰켓2 -서블릿 강의를 진행중인데요

강사님하고 똑같이 진행하는데 run이 실행되지 않습니다

gpt에 물어봐도 내장 톰캣을 실행할 때, 웹 애플리케이션 리소스 경로(webapps 디렉토리)를 찾지 못해서 발생한 에러하는데 해결이안되는데 어떻게 하나요?

이건 내장 톰캣을 실행할 때, 웹 애플리케이션 리소스 경로(webapps 디렉토리)를 찾지 못해서 발생한 에러예요.
정확히 말하면 다음과 같은 톰캣 리소스 설정 오류입니다.


요약해서 말하면

톰캣이 시작되긴 했지만, 웹 애플리케이션 루트를 지정한 경로가 실제로 없어서 톰캣 내부에서 시작 실패 → 전체 애플리케이션 실패가 된 상황입니다.


🔍 대표 에러 메시지

Caused by: java.lang.IllegalArgumentException: 
The main resource set specified 
[C:\Users\c91sy\IdeaProjects\boot-source-20230228\start\embed\tomcat.8080\webapps\] 
is not a directory or war file, or is not readable

톰캣이 저 경로(webapps)를 "웹 루트"로 사용하려 했는데:


🛠 이 에러 이름을 붙이자면:

"Tomcat 리소스 경로 오류 (Missing or invalid docBase for embedded Tomcat)"

또는

"내장 톰캣 구동 실패 - 웹 리소스 경로 없음 오류"


해결 방법 (정리)

  1. 경로 확인 및 생성

    • 다음 경로 확인:

      C:\Users\c91sy\IdeaProjects\boot-source-20230228\start\embed\tomcat.8080\webapps
      
    • 이 경로가 존재하지 않으면 만들어줘야 함.

      mkdir C:\Users\c91sy\IdeaProjects\boot-source-20230228\start\embed\tomcat.8080\webapps
      
  2. 또는 코드 수정

    • EmbedTomcatServletMain.java 내에 톰캣에 docBase를 지정하는 부분이 있다면, 그 경로를:

      String webAppPath = "src/main/webapp";
      context.setDocBase(new File(webAppPath).getAbsolutePath());
      

      처럼 실제 존재하는 디렉토리로 바꾸는 것도 방법입니다.


참고로



강사님 코드랑 달리 경로를 추가하라는것 같은데 ,,,
에러 메시지는 너무 길어서 천자가 넘어서 어떻게 해야할지 모르겠습니다 ....

spring spring-boot prometheus grafana

Answer 2

0

David

안녕하세요. 최세영님, 공식 서포터즈 David입니다.

도움을 드리고 싶지만 질문 내용만으로는 답변을 드리기 어렵습니다.

실제 동작하는 전체 프로젝트를ZIP파일로 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx


주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요


추가로 다음 내용도 코멘트 부탁드립니다.

1. 문제 영역을 실행할 수 있는 방법

2. 문제가 어떻게 나타나는지에 대한 상세한 설명 (오류 화면, 오류 로그 포함)


링크: 공식 서포터즈

링크: 자주하는 질문

감사합니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 최세영님께서 겪고 계신 오류는 톰캣 리소스 경로 설정 문제 때문으로 보입니다. 이러한 문제를 해결하기 위해서는 톰캣이 필요로 하는 웹 애플리케이션 리소스 경로를 올바르게 설정해주어야 합니다. 아래 내용을 참고하여 문제를 해결해보세요.

문제 해결 방법

  1. 경로 확인 및 생성

    • 오류 메시지에 표시된 경로 (C:\Users\c91sy\IdeaProjects\boot-source-20230228\start\embed\tomcat.8080\webapps)가 실제로 존재하는지 확인하세요.
    • 경로가 없다면, 수동으로 해당 디렉토리를 생성합니다. 터미널이나 커맨드 프롬프트를 통해 아래 명령어를 실행할 수 있습니다:
      
      mkdir C:\Users\c91sy\IdeaProjects\boot-source-20230228\start\embed\tomcat.8080\webapps
      

  2. 내장 톰캣의 DocBase 설정 변경

    • EmbedTomcatServletMain.java 코드에서 톰캣의 기본 리소스 경로를 올바르게 설정해 주세요. 예를 들어, 아래 예시와 같이 경로를 지정합니다:
      
      Context context = tomcat.addContext("", "path/to/your/existing/webapp");
      

    • 이 경로는 실제로 존재하는 경로여야 하며, 웹 애플리케이션의 루트가 위치하는 위치입니다.

유사한 사례 및 해결 방법

같은 문제를 다른 학습자들도 직면하였으며, 아래 링크에서 해결 방법을 확인할 수 있습니다. 김영한 강사님께서 직접 가이드를 제공한 예시도 있으니 참고하세요:
- 내장톰캣 서블릿 강의를 듣는 도중 문제가 생겼습니다.

이와 유사한 오류에 대한 다른 학습자의 질문과 해결 방법은 아래에서 더 볼 수 있습니다:
- SEVERE: A child container failed during start LifecycleException: Failed to start component 해결방법
- 내장 톰켓2-서블릿 (톰켓 실행 에러)

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

보안이 엄격한 데이터

0

73

1

MyProperties 자체를 클라이언트 코드에서 사용

1

43

1

http://localhost:8080/actuator/prometheus

0

85

3

jar 추가에대한 질문드려도될까요?

0

64

1

build.gradle bom link 변경

0

65

2

@Counted 초기화

0

47

1

@Validated를 적용해도 빈 검증이 안되는 경우에 대한 조치 공유..

0

101

2

springboot에서 actuator없이 micrometer를 사용할수 있나요?

0

67

1

@Configuration 질문드립니다.

0

84

2

[공유] 터미널 말고 IDE 에서 jar 실행하기

0

100

1

localhost:8080/hello-servlet 404오류

0

123

2

최대 Tomcat 스레드 수를 확인하는 지표

0

159

1

mac m2에서 startup.sh 실행후 아무 반응이 없습니다.

0

94

2

내장 톰캣 실행 오류 관련 질문드립니다.

0

157

1

스프링 발전 과정들도 자세히 알아둬야하나요??

1

127

1

스프링부트 ioc 컨테이너 갯수

0

89

1

404 페이지

0

133

3

actuator 호출시 타임스탬프 질문

0

90

1

순수 라이브러리 사용하기 2 - memory-v1

0

125

1

외부설정 @ConfigurationProperties의 내부 클래스에서 static을 사용하는 이유를 알고 싶습니다.

0

105

1

서블릿 컨테이너 초기화1 강의 관련 질문입니다~

0

93

1

Thread Config Max 패널 설정 변경 질문

0

127

1

스프링 액츄에이터 shutdown 엔드포인트 활성화가 안됩니다.

0

107

1

테스트 실행시 동일 오류 3가지 발생

0

183

1