이클립스 Maven 프로젝트 초기 설정 및 JDK 버전 변경, JSTL, MySQL 라이브러리 추가 오류 해결 방법

이클립스 Maven 프로젝트 설정




Maven 프로젝트 초기 설정

자바 컴파일러 버전 JDK 1.7 -> 1.8 변경

Maven 프로젝트를 생성하면 기본적인 자바 컴파일러 버전이 JDK 1.5로 설정이 되어 있습니다.  

현재 시스템에 설치된 1.8 버전으로 변경하기 위해서는 아래와 같은 작업이 필요합니다.


자바 컴파일러 버전 확인 방법

  1. 프로젝트 우클릭 Properties 클릭
  2. Java Compiler의 Compiler compliance level값 확인

자바 컴파일러 버전 pom.xml에 명시

이제 자바 컴파일러 버전을 1.5에서 1.8로 변경 해보도록 하겠습니다. 

변경 방법은 pom.xml 파일의 plugin 태그의 mave-compiler-plugin에 아티팩트에 configuration 태그를 아래와 같이 추가 합니다.

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
      </configuration>
</plugin>

자바 컴파일러 버전 설정을 pom.xml 파일의 사양대로 사용 설정

  1. 프로젝트 우클릭 Properties 선택
  2. Maven 탭 하위의 Java EE integration 선택
  3. Enable Project Specific Setting 체크
  4. Aplly And Close
    • 설정 창이 닫히게 되면, 팝업창이 나오며 관련 설정 파일들이 업데이트 됩니다.



Dynamic Web Module 버전 2.3 -> 3.1 변경

Maven 프로젝트의 기본적인 웹 모듈 버전은 2.3 입니다. 

2.3의 경우에는 이 다음 섹션에서 추가할 JSTL 라이브러리와 EL 문법의 출력이 작동되지 않습니다. 이를 위해 Dynamic Web Module의 버전을 2.3에서 3.1로 변경할 필요가 잇습니다.


Dynamic Web Module 버전 확인 방법

  1. 프로젝트 우클릭 -> Properties 클릭
  2. Project Facets 탭 클릭
  3. Dynamic Web Module 버전 확인

버전 변경을 위한 web.xml 파일 수정

webapp 폴더 하위의 WEB-INF 폴더의 web.xml을 아래와 같이 수정합니다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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_3_1.xsd" version="3.1">
  <display-name>Archetype Created Web Application</display-name>
</web-app>

버전 변경을 위한 org.eclipse.wst.common.project.facet.core.xml 파일 수정

org.eclipse.wst.common.project.facet.core.xml 파일은 .settings 하위에 있습니다. 해당 파일의 내용을 아래와 같이 수정합니다.

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="jst.web" version="3.1"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
  <installed facet="java" version="1.8"/>
</faceted-project>

변경된 Dynamic Web Module 버전 확인

eclipse-dynamic-web-module-version-change
EL, JSTL 문법 사용을 위해서는 Dynamic Web Module 버전 변경이 필요합니다.



JSTL 라이브러리 추가

JSTL은 Tomcat에서 기본적으로 제공되지 않는 라이브러리이기 때문에 pom.xml에 dependency를 추가해 줘야 합니다. 

우선 아래의 dependency를 추가 합니다. 추가 후 EL 및 JSTL 문법을 사용하면 정상적으로 출력이 됩니다.

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>



MySQL 라이브러리 추가

MySQL의 데이터베이스 라이브러리 JDBC를 추가하기 위해서는 pom.xml 파일에 dependency를 추가하면 되는데, 아래의 dependency를 추가하면 프로젝트 내에서 MySQL이 연동되어 데이터베이스 내용에 접근할 수 있습니다. 

다른 커넥터 버전을 사용할 경우 version 태그의 내용을 변경하면 됩니다.

<dependency>  
    <groupId>mysql</groupId>  
         <artifactId>mysql-connector-java</artifactId>
         <version>5.1.45</version>
</dependency>