inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 부트 - 핵심 원리와 활용

내장 톰캣2 - 서블릿

EmbedTomcatServletMain 실행 시 발생하는 오류

1299

newve1

작성한 질문수 2

0

 

complete 코드를 사용해도 다음과 같은 오류가 나옵니다

Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@35cabb2a]

spring spring-boot prometheus grafana

답변 3

4

inyang

안녕하세요. 저도 같은 문제가 있었는데 아래 두가지 방법 중 하나로 해결했습니다.

환경은 Windows 에 IntelliJ 였습니다.

 

#1 특정 폴더 생성하여 해결

에러 리스트 두번째 줄에 나오는 내용을 보고 tomcat:8080 아래에 webapps 폴더 추가 후 실행

Caused by: java.lang.IllegalArgumentException: The main resource set specified [D:\Spring_boot_edu\boot-source-20230228\start\embed\tomcat.8080\webapps\] is not valid

 

#2 pdf 교재 (3.스프링 부트와 내장 톰캣.pdf) 에서 추가하는 코드를 넣어서 해결 했습니다.

//서블릿 등록

Context context = tomcat.addContext("", "/");

//== 코드 추가 시작==

File docBaseFile = new File(context.getDocBase());

if (!docBaseFile.isAbsolute()) {

docBaseFile = new File(((org.apache.catalina.Host)

context.getParent()).getAppBaseFile(), docBaseFile.getPath());

}

docBaseFile.mkdirs();

//== 코드 추가 종료==

tomcat.addServlet("", "helloServlet", new HelloServlet());

context.addServletMappingDecoded("/hello-servlet", "helloServlet");

tomcat.start();

 

잘 해결 되시기 바랍니다. ^^

0

David

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

 

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

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

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

https://bit.ly/3fX6ygx

 

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

 

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

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

2. 문제가 어떻게 나타나는지에 대한 상세한 설명

 

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

오류 메시지에 보면 “Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@35cabb2a]“라고 나와 있네요. 이 오류는 웹 리소스를 관리하는 컴포넌트인 StandardRoot가 시작에 실패한 것을 나타내는 메시지입니다.

이 경우, 일반적으로 다음과 같은 몇 가지 이유로 발생할 수 있습니다.

  1. 웹 리소스 디렉토리 경로 오류: 웹 리소스 디렉토리 경로가 잘못된 경우에 이 오류가 발생할 수 있습니다. 디렉토리 경로를 확인하고 올바른 경로를 설정해보세요.

  2. 파일 권한 오류: 웹 리소스 디렉토리에 접근할 권한이 없을 경우에도 이 오류가 발생할 수 있습니다. 디렉토리의 권한을 확인하고 필요한 권한을 설정해보세요.

  3. 톰캣 버전 호환성 문제: 사용하고 있는 톰캣 버전과 웹 애플리케이션의 호환성에 문제가 있을 경우에도 이 오류가 발생할 수 있습니다. 톰캣 버전을 확인하고 호환되는 버전을 사용해보세요.

더 자세한 원인을 파악하려면 추가적인 오류 메시지나 스택 트레이스를 살펴봐야 할 수도 있습니다. 추가로 오류 메시지나 스택 트레이스 등을 제공해주시면 더 정확한 도움을 드릴 수 있을 것 같아요.

보안이 엄격한 데이터

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

101

1

localhost:8080/hello-servlet 404오류

0

123

2

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

1

154

2

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

0

160

1

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

0

94

2

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

0

158

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

128

1

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

0

107

1