본문 바로가기
Backend

Spring Boot 어플리케이션 Java 6 호환 수정

by BestUgi 2020. 6. 16.

Spring Boot 프로젝트를 Java 6 동작하도록 수정하기 위한 방법을 정리한 문서입니다.

 

Spring Boot 어플리케이션을 Java 6와 호환되도록 변경하기 위해서는 Spring Boot와 관련된 몇몇 라이브러리의 버전을 다운

  • Tomcat의 버전 7.0.x 혹은 8.0
    • Jetty의 경우, 8.x 버전 사용
  • Spring Boot 관련 라이브러리의 버전을 1.5.x로 변경
    • spring-boot-starter-web
    • spring-boot-starter-data-jpa
    • spring-boot-starter-security
    • ...

주의할 점은 Tomcat 7 버전과 Java 6에서 동작할 경우 WebSocket은 사용할 수 없다고 한다. 

 

Spring Boot 프로젝트를 Java 6와 호환되도록 하기 위해서는 pom.xml 파일을 수정해서, spring boot 관련 라이브러리의 버전을 1.5.22.RELEASE로 변경한다.

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.22.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>

 

properties에 tomcat.version을 명시해 주자. 

  <properties>
    <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <tomcat.version>7.0.104</tomcat.version>
  </properties>

 

마지막으로 tomcat의 디펜던시를 생성해 주도록 하자. 

    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-juli</artifactId>
      <version>${tomcat.version}</version>
    </dependency>

이 뿐만 아니라 기존에 Spring Boot 2 기반으로 작성된 코드가 있을 경우, 변경해야 할 API들이 많을 것이다. 특히, JPA 관련된 코드를 변경해 주어야 할 것이 많다. (Spring Boot 1 버전에서는 findById와 saveAll과 같은 API가 없다.)

 

pom.xml과 코드를 변경하고 나서 실행을 하면 아래와 같이 톰캣 7 버전이 실행 되는 것을 확인할 수 있을 것이다.

댓글