인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

차노쓰님의 프로필 이미지

작성한 질문수

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

스프링 컨테이너 등록

실행하면 오류가 나면서 종료됩니다.

작성

·

153

0

19-Feb-2025 22:14:57.625 SEVERE [main] org.apache.catalina.startup.HostConfig.deployDescriptor 배치 descriptor [C:\Users\cksgh\.SmartTomcat\server\server\conf\Catalina\localhost\ROOT.xml]을(를) 배치하는 중 오류 발생

java.lang.IllegalStateException: 자식 컨테이너를 시작하는 중 오류 발생

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:602)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:571)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:654)

at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:635)

at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889)

at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)

at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)

at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:530)

at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:421)

at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1629)

at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)

at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109)

at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:389)

at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:336)

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:776)

at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:772)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)

at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)

at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)

at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)

at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:870)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)

at org.apache.catalina.startup.Catalina.start(Catalina.java:761)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:568)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)

Caused by: org.apache.catalina.LifecycleException: 구성요소 [org.apache.catalina.webresources.StandardRoot@77659b30]을(를) 시작하지 못했습니다.

at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:406)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:179)

at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4121)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4243)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:599)

... 37 more

Caused by: java.lang.IllegalArgumentException: The main resource set specified [C:\Users\cksgh\Desktop\공부자료\스프링 강의자료\스프링부트 핵심원리와 활용\boot-source-20230228\start\server\build\exploded] is not a directory or war file, or is not readable (it does not exist or permissions to access it are missing)

at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:749)

at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:707)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)

... 41 more

19-Feb-2025 22:14:57.636 INFO [main] org.apache.catalina.startup.HostConfig.deployDescriptor 배치 descriptor [C:\Users\cksgh\.SmartTomcat\server\server\conf\Catalina\localhost\ROOT.xml]의 배치가 [114] 밀리초 내에 완료되었습니다.

19-Feb-2025 22:14:57.644 INFO [main] org.apache.coyote.AbstractProtocol.start 프로토콜 핸들러 ["http-nio-8090"]을(를) 시작합니다.

19-Feb-2025 22:14:57.937 INFO [main] org.apache.catalina.startup.Catalina.start 서버가 [488] 밀리초 내에 시작되었습니다.

http://localhost:8090/

19-Feb-2025 22:18:24.376 INFO [Thread-1] org.apache.coyote.AbstractProtocol.pause 프로토콜 핸들러 ["http-nio-8090"]을(를) 일시 정지 중

19-Feb-2025 22:18:25.117 INFO [Thread-1] org.apache.catalina.core.StandardService.stopInternal 서비스 [Catalina]을(를) 중지시킵니다.

19-Feb-2025 22:18:25.120 INFO [Thread-1] org.apache.coyote.AbstractProtocol.stop 프로토콜 핸들러 ["http-nio-8090"]을(를) 중지시킵니다.

19-Feb-2025 22:18:25.127 INFO [Thread-1] org.apache.coyote.AbstractProtocol.destroy 프로토콜 핸들러 ["http-nio-8090"]을(를) 소멸시킵니다.

Process finished with exit code 130

 

답변 1

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 차노쓰님.

스프링 부트나 내장 톰캣을 활용하다 보면 여러 가지 설정 오류가 발생할 수 있습니다. 주어진 로그 메시지와 오류 설명을 해석해보면, StandardRoot 클래스의 createMainResourceSet 메서드에서 “주요 리소스 세트가 디렉터리 또는 WAR 파일이 아니거나 읽을 수 없음”이라는 예외가 발생했습니다. 이는 주로 애플리케이션을 실행할 때 지정한 리소스 경로가 잘못되었거나 권한이 부족할 때 발생합니다.

  1. 경로 확인 및 권한 설정: 정확한 경로가 지정되었는지, 경로가 존재하고 읽기 권한이 있는지 확인해보세요. 특히, 디렉터리 권한 문제일 수 있으니 해당 경로를 한 번 살펴보세요.

  2. 설정 파일 점검: ROOT.xml 혹은 server.xml 같은 톰캣 설정 파일 내에 올바르게 경로가 지정되어 있는지 확인해보세요.

  3. 톰캣 버전과 호환성 확인: 사용하는 톰캣과 자바, 스프링 부트의 버전이 호환되는지 확인해보세요.

아래는 커뮤니티에서 유사한 문제 해결을 다룬 게시물을 추천드리니 함께 참고해 보시기 바랍니다:

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