앞에서 작성한 "Eclipse에서 Maven 웹 프로젝트 만들기"는 기본 Maven 템플릿을 사용하는데 JDK 1.5와 서블릿 2.3으로 작성이 됩니다. 이것을 JDK 1.8에 서블릿 3.1 로 올려 봅니다.
1. JDK를 1.8로 변경합니다.
기존의 JDK 1.5를 제거하고 JDK 1.8을 추가합니다. JDK의 추가는 Preferences의 Installed JREs에서 추가해 두면 됩니다. 여러 버전의 JDK를 설치해 둘 수 있습니다.
컴파일러 설정을 1.8로 변경합니다. 프로젝트의 Preferences의 Java Compiler에서 "Enable project specific settings" 를 체크하고 "Use compliance from execution environment 'JavaSE-1.8' on the 'Java Build Path'"를 선택합니다. 또는 "Use default compliance settings"의 체크를 해제 하고, "Compiler compliance level"을 1.8로 변경합니다.
2. 서블릿 스펙을 3.1로 변경합니다.
pom.xml 파일에 의존성을 추가합니다.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
web.xml에 DTD를 3.1로 변경합니다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>Archetype Created Web Application</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
3. Project Facets에서 JDK와 서블릿 스펙을 변경합니다.
프로젝트 Preferences에서 변경 하려고 했지만 변경이 되지 않습니다.
워크스페이스의 프로젝트 폴더의 .settings 폴더 아래 org.elclipse.wst.common.project.facet.core.xml 파일을 수정합니다.
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.8"/>
<installed facet="jst.web" version="3.1"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
필요한 사항이 수정되었습니다.
4. pom.xml에 컴파일러 플러그인을 추가합니다.
위에 까지 하면 실행에 문제가 없습니다. 하지만 Maven -> Update Project를 실행하면 처음의 JDK 설정으로 돌아가 버립니다. 그래서 컴파일러 플러그인을 추가합니다.(<build> 하위에 추가합니다.)
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
5. 실행결과 입니다.
컴파일 오류가 모두 없어졌고, 정상적으로 실행이 됩니다. 추가적으로 수정된 부분은 프로젝트의 캐릭터셋을 UTF-8로 설정했고, index.jsp 파일에 컨텐츠 타입, 엔코딩 등을 추가했습니다.
다음에는 스프링프레임웍을 사용할 수 있도록 올려보겠습니다.
'프로그래밍 > 스프링프레임워크' 카테고리의 다른 글
스프링프레임워크 Java config로 MyBatis 사용하기 (8) | 2019.03.17 |
---|---|
Maven 웹 프로젝트에 스프링프레임워크 적용하기 (0) | 2019.03.13 |
Eclipse에서 Maven 웹 프로젝트 만들기 (9) | 2019.03.06 |
JSTL - <c:forEach>, <c:forTokens> 태그 사용법 (8) | 2019.01.11 |
JSTL - <c:if>, <c:choose> 태그 사용법 (3) | 2019.01.10 |