ㅤㅤㅤ

Spring MVC 프로젝트 버전3 에서 버전 4로 마이그레이션 하는방법 본문

プログラミング/WebProject

Spring MVC 프로젝트 버전3 에서 버전 4로 마이그레이션 하는방법

ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ 2017. 6. 16. 13:59

"Spring Framework을 사용한 웹애플리케이션 개발환경 만들기" 에서 기본 설치했던 샘플 Spring MVC 프로젝트의 Spring Framework 버전은 3.1.1 입니다. 이것을 현재 버전인 4.3.4 으로 변경합니다. 간단히 될 줄 알았는데, 내가 이러려고 STS 플러그인을 설치했나 싶을 정도로 이것저것 걸리는게 많더군요. 메이븐을 좀 더 공부해야 겠다는 생각이 절로 듭니다. 먼저 기본환경을 확인해보고 어떻게 변경할지 본 후 설정을 해 봅니다.

 

기본 환경

  - Spring Framework 3.1.1
  - java version 1.6
  - Maven compiler
    source 1.6
    target 1.6
  - servlet-api 2.5
  - jsp-api 2.1

 

변경 될 환경

  - Spring Framework 4.3.4
  - java version 1.8
  - Maven compiler
    source 1.8
    target 1.8
  - servlet-api 3.0
  - jsp-api 2.2

 

설정을 변경해 봅시다. pom.xml 을 수정합니다.

 

1. java version을 1.6 에서 1.8로 springframework 버전을 3.1.1로 4.3.4로 변경합니다.

<properties>
  <java-version>1.8</java-version>
  <org.springframework-version>4.3.4.RELEASE</org.springframework-version>
  <org.aspectj-version>1.6.10</org.aspectj-version>
  <org.slf4j-version>1.6.6</org.slf4j-version>
</properties>

2. Servlet api 버전을 2.5에서 3.0.1 로 변경합니다.   여기에서는 artifactId 도 servlet-api 에서 javax.servlet-api로 바꼈습니다.

<dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>javax.servlet-api</artifactId>
   <version>3.0.1</version>
   <scope>provided</scope>
</dependency>

3. jsp api 버전을 2.1에서 2.2로 변경합니다.

<dependency>
   <groupId>javax.servlet.jsp</groupId>
   <artifactId>jsp-api</artifactId>
   <version>2.2</version>
   <scope>provided</scope>
</dependency>

4. maven compiler 설정을 소스와 타겟을 1.8로 변경합니다.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.5.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <compilerArgument>-Xlint:all</compilerArgument>
        <showWarnings>true</showWarnings>
        <showDeprecation>true</showDeprecation>
    </configuration>
</plugin>

5. 이제 프로젝트 설정을 수정합니다. 프로젝트 오른쪽 버튼 클릭해서 Properties 를 선택합니다.

 

 

6. Java Build Path 를 선택합니다. Libraries 에서 JavaSE1.6을 1.8로 변경합니다. 변경 방법은 "Spring Framework을 사용한 웹애플리케이션 개발환경 만들기" 를 참조하세요.

 

 

7. Java Compiler 설정에서 Compiler compliance level 을 1.8로 지정합니다. Build Path 가 잘 설정되었다면 1.8이 되어 있을 겁니다.

 

 

8. Project Facets에서 Dynamic Web Module 을 3.0 으로, java는 1.8로 설정합니다. 설정이 변경이 안되는 경우가 있습니다. 이 때는 이클립스를 종료한 후 프로젝트 폴더아래 .settings 폴더에 있는 org.eclipse.wst.common.project.facet.core.xml 파일을 텍스트 에디터로 열어서 직접 수정한 후 이클립스를 실행하고 다시 변경하면 됩니다.

 

 

9. 프로젝트명에 마우스 오른쭉 키를 누르고 팝업 메뉴에서 Maven -> Update Project 를 선택해서 설정 내용을 적용합니다.

 

 

모든 설정이 적용되었습니다. 프로젝트명에 빨간색이 없고, 하단의  Probles 탭에 아무 내용도 없어야 합니다. 물론 실행시켜도 잘 동작해야 합니다. 추가로 적용 도중에 다음과 같은 에러가 발생했었습니다.

 

Archive for required library: 'C:/Users/PENTODE/.m2/repository/org/springframework/spring-beans/4.3.4.RELEASE/spring-beans-4.3.4.RELEASE.jar' in project 'spring_test' cannot be read or is not a valid ZIP file spring_test  Build path Build Path Problem

 

jar 파일이 다운로드 되기는 했지만, 잘못된 파일이라는 내용이 나오더군요. 여기저기 찾아보니 여러가지 해결책이 있었지만, 나의 경우 해결할 수 있었던 방법은 사용자 폴더 아래 maven 로컬 리포지토리를 ( .m2/repository ) 모두 삭제하고, Maven -> Update Project 를 다시 실행하니 해결이 되었습니다.



출처: http://pentode.tistory.com/69 [쉬고 싶은 개발자]

Comments