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

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

김준우님의 프로필 이미지
김준우

작성한 질문수

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

서블릿 컨테이너 초기화1

MyContainerInitV1 실행 시 오류

작성

·

31

0

04-Dec-2024 22:31:59.700 심각 [main] org.apache.catalina.startup.ContextConfig.processServletContainerInitializers 이름이 []인 컨텍스트를 위한 ServletContainerInitializer들을 탐지하지 못했습니다.
	java.io.IOException: java.lang.ClassNotFoundException: hello.container.MyContainerInitV1
		at org.apache.catalina.startup.WebappServiceLoader.loadServices(WebappServiceLoader.java:234)
		at org.apache.catalina.startup.WebappServiceLoader.load(WebappServiceLoader.java:202)
		at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1756)
		at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1256)
		at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:961)
		at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:290)
		at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109)
		at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4311)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
		at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:566)
		at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:653)
		at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:599)
		at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1853)
		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:494)
		at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:385)
		at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1593)
		at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:267)
		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:743)
		at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:771)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
		at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1170)
		at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1160)
		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:716)
		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:866)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
		at org.apache.catalina.startup.Catalina.start(Catalina.java:755)
		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:342)
		at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:470)
	Caused by: java.lang.ClassNotFoundException: hello.container.MyContainerInitV1
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1212)
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1043)
		at java.base/java.lang.Class.forName0(Native Method)
		at java.base/java.lang.Class.forName(Class.java:467)
		at org.apache.catalina.startup.WebappServiceLoader.loadServices(WebappServiceLoader.java:231)
		... 45 more
04-Dec-2024 22:31:59.702 심각 [main] org.apache.catalina.startup.ContextConfig.configureStart 이전 오류(들)로 인하여, 이 애플리케이션이 가용하지 않은 것으로 표시합니다.
04-Dec-2024 22:31:59.720 심각 [main] org.apache.catalina.core.StandardContext.startInternal 하나 이상의 구성요소(들)이, 해당 컨텍스트가 올바로 설정되지 않았다고 표시했습니다.
04-Dec-2024 22:31:59.728 심각 [main] org.apache.catalina.core.StandardContext.startInternal 이전 오류들로 인해 컨텍스트 []의 시작이 실패했습니다.

MyContainerInitV1 클래스와 resources 파일 아래에 정확하게 파일을 생성하였는데 다음과 같은 오류가 발생합니다. 어떻게 해결할 수 있는지 확인해주시면 감사하겠습니다 ㅠㅠ

답변 2

0

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

아래 인프런 AI 인턴이 제시한 방법 및 유사한 문제 링크를 확인하시어 시도해 보신 후에도 동작하지 않는다면 말씀 부탁드립니다:)

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

김준우님께서 겪고 계신 문제는 보통 다음과 같은 경우에 발생합니다: MyContainerInitV1 클래스의 경로가 올바르게 설정되어 있지 않거나 빌드 과정에서 해당 클래스를 찾지 못하는 경우입니다. 아래는 문제를 해결하기 위한 몇 가지 방법을 제안드립니다.

  1. 클래스 경로 확인: MyContainerInitV1 클래스가 실제로 존재하는지 확인하시고, 정확한 패키지 경로에 있는지 확인해주세요. 만약 hello.container 패키지 아래에 있다고 확신하신다면, 다른 각도에서 검토가 필요할 수 있습니다.

  2. 의존성 확인: build.gradle이나 pom.xml 파일에서 필요한 라이브러리들이, 특히 Spring Boot와 관련된 라이브러리들이 올바르게 추가되어 있는지 확인하십시오. 톰캣 서버가 실행될 때 필요한 모든 의존성을 가져올 수 있어야 합니다.

  3. 빌드 및 배포 설정 확인: IntelliJ나 다른 IDE를 사용한다면, 빌드 설정에서 해당 클래스가 포함되어 있는지 확인하십시오. 종종 빌드 경로에 포함되지 않거나, 잘못된 모듈 설정으로 인해 이러한 오류가 발생할 수 있습니다.

  4. Gradle이나 Maven 재빌드: 만약 Gradle이나 Maven을 통해 프로젝트를 관리하고 있다면, clean 명령을 수행한 후 build를 다시 시도해 보세요. 예를 들어, Gradle의 경우는 ./gradlew clean build 명령어를 사용하시면 됩니다.

  5. 서버 재시작: 문제가 지속될 경우, 서버를 완전히 중지하고 다시 시작해 보세요. 서버 캐시나 메모리에 남아 있는 정보가 문제를 일으킬 수도 있습니다.

다음 링크는 유사한 문제를 경험한 사용자들이 제공한 해결책들을 포함하고 있으니 참고해 보세요:

문제 해결에 도움이 되시길 바라며, 추가적으로 궁금한 점이 있으시면 질문 남겨주세요. 곧 지식공유자께서 답변해 주실 것입니다.

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

김준우님의 프로필 이미지
김준우

작성한 질문수

질문하기