JUnit Controller Test java.lang.NoClassDefFoundError: javax/servlet/SessionCookieConfig

■ 참고 Failed to Load ApplicationContext during Spring unit test
 

■ Spring Controller를 JUnit으로 테스트할 경우에 java.lang.NoClassDefFoundError: javax/servlet/SessionCookieConfig 에러가 발생했다. javax.servlet 버전을 2.5에서 3.1.0으로 변경면 에러가 사라진다.

java.lang.NoClassDefFoundError: javax/servlet/SessionCookieConfig
   ... 생략 ...
Caused by: java.lang.ClassNotFoundException: javax.servlet.SessionCookieConfig
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 32 more

 

<properties >
  <!-- 변경 전 -->
  <!--<servlet.version>2.5</servlet.version>-->
  <!-- 변경 후 -->
  <servlet.version>3.1.0</servlet.version>
</properties>

<dependencies>
  <!-- 변경 전 -->
  <!--
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>${servlet.version}</version>
    <scope> provided</scope>
  </dependency>
  -->

  <!-- 변경 후 -->
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>${servlet.version}</version>
    <scope>provided</scope>
  </dependency>

</dependencies>  

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다