File -> New -> Spring Legacy Project
-> Spring MVC project 클릭
-> com.spring.app 후 확인
기본 환경 - 변경 될 환경
Spring Framework 3.1.1 - Spring Framework 5.3.22
java version 1.6 - java version 11 (JDK 11 을 사용하므로)
Maven compiler - Maven compiler
version 2.5.1 version 3.8.1
source 1.6 source 11
target 1.6 target 11
servlet-api 2.5 - javax.servlet-api 4.0.1 (apache-tomcat-9.0.x 을 사용하므로)
jsp-api 2.1 - javax.servlet.jsp-api 2.3.3 (apache-tomcat-9.0.x 을 사용하므로)
<properties>
<java-version>11</java-version> <!-- JDK 11 용 -->
<jaxb.version>2.2.11</jaxb.version> <!-- JDK 1.8 까지는 내장되었던 JAXB를 JDK 11 에서는 내장하고 있지 않기 때문에 JDK 11 에서 제거 되었던 JAXB를 사용할 수 있도록 하는 것. 참고로 2.2.11 버전은 JAXB가 모듈화 되기 직전 최신버전임. -->
<org.springframework-version>5.3.22</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
</properties>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version> <!-- 다이나믹 웹 모듈 4.0 서블릿 만들기. 전제조건은 Java 1.8 버전 이상과 Servlet API 4.0 버전(servlet-api-4.0.0.jar) 이 있는 Tomcat 9 버전 이상이어야 함 -->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version> <!-- jdk11 부터는 적어도 3.7 버전 이상을 사용해야 한다 -->
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
▶ test 아래 dependencies 전에 복붙
<!-- JDK 11 용 시작 -->
<!-- JDK 1.8 까지는 내장되었던 JAXB를 JDK 11 에서는 내장하고 있지 않기 때문에 JDK 11 에서 제거 되었던 JAXB를 사용할 수 있도록 하는 것-->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>${jaxb.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${jaxb.version}</version>
</dependency>
<dependency>
<groupId>com.sun.activation</groupId>
<artifactId>javax.activation</artifactId>
<version>1.2.0</version>
</dependency>
<!-- <dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
-->
<!-- 현재 JDK 11 사용중인데, @Resource 어노테이션은 JDK 1.8 까지만 지원되고 그 이후로는 지원이 안되므로 JDK 11 에서 사용하려면 아래와 같이 추가해주어야 한다. -->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.1</version>
</dependency>
<!-- JDK 11 용 끝 -->
board -> properties
-> java build path -> library -> jdk 11 로 edit 후 apply 해주기
-> java compiler -> 11 로 변경
-> project facts -> 버전 4.0 / 11 변경후 runtimes 체크
버전 변경
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="4.0" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd">
spring -> root-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"
xsi:schemaLocation="http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
spring -> appservlet -> servlet-context.xml
버전변경
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.3.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<mvc:annotation-driven />
<resources mapping="/resources/**" location="/resources/" />
변경 <mvc:resources mapping="/resources/**" location="/resources/" />
서버 더블클릭 -> Modules
-> Path 원하는 곳 변경
실행이 느릴 경우 -> Overviews
-> Timeouts 를 60 / 30 으로 설정