java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter 오류 발생 해결 방법

Posted by Breeze24
2020. 3. 15. 12:08 카테고리 없음

톰캣에서 Spring을 적용할 때 아래와 같은 오류가 발생하는 경우가 있다. 

 

 

java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter

                at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358)

                at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)

                at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:546)

                at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:527)

                at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)

                at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)

                at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)

                at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4546)

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

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

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

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

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

                at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1125)

                at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1859)

                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

                at java.util.concurrent.FutureTask.run(FutureTask.java:266)

                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

                at java.lang.Thread.run(Thread.java:748)

 

해결 방법

제일 먼저 해본 방법은 위의 CharacterEncodingFilter 클래스를 포함한 jar가 빠졌는지 확인했었다. 

확인해본 결과 포함이 되어 있어서 어떤 문제인지 확인하는데, 시간이 많이 소요되었다. 

아래 방법으로 해서 해결할 수 있었다. 

 

.

 

pom.xml에 아래 내용을 추가한다. 

 

        <properties>

               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

               <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        </properties>

 

그 뒤에 톰캣을 재기동 했더니, 정상적으로 서비스가 수행되었다. 

.