1. 개요
이 빠른 자습서에서는 Maven에서 Java 버전 을 설정하는 방법을 보여줍니다 .
계속 진행하기 전에 Maven의 기본 JDK 버전을 확인할 수 있습니다 . mvn -v 명령을 실행하면 Maven이 실행되는 Java 버전이 표시됩니다.
2. 컴파일러 플러그인 사용
컴파일러 플러그인 에서 원하는 Java 버전을 지정할 수 있습니다 .
2.1. 컴파일러 플러그인
첫 번째 옵션은 컴파일러 플러그인 속성에서 버전을 설정하는 것입니다.
<properties>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
</properties>
Maven 컴파일러는 – target 및 – 소스 버전 에서이 명령을 허용합니다 . Java 8 언어 기능을 사용하려면 – 소스 를 1.8 로 설정해야합니다 .
또한 컴파일 된 클래스가 JVM 1.8과 호환되도록하려면 – target 값이 1.8 이어야합니다 .
둘 다 기본값은 1.6 버전입니다.
또는 컴파일러 플러그인을 직접 구성 할 수 있습니다.
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
받는다는 - 컴파일러 플러그인 또한 우리가 넘어 컴파일 과정을보다 효율적으로 제어 가질 수 있도록 추가 구성 특성이 -source 및 -target 버전.
2.2. Java 9 이상
또한 JDK 9 버전부터는 새로운 -release 명령 줄 옵션을 사용할 수 있습니다 . 이 새로운 인수는 주어진 플랫폼 버전의 구현에 대해 링크 할 클래스 파일을 생성하도록 컴파일러를 자동으로 구성합니다.
기본적으로 -source 및 -target 옵션은 교차 컴파일을 보장하지 않습니다.
이는 이전 버전의 플랫폼에서 애플리케이션을 실행할 수 없음을 의미합니다. 또한 이전 Java 버전 용 프로그램을 컴파일하고 실행하려면 -bootclasspath 옵션 도 지정해야합니다 .
올바르게 교차 컴파일하기 위해 새로운 -release 옵션은 -source, -target 및 -bootclasspath의 세 가지 플래그를 대체합니다 .
예제를 변환 한 후 플러그인 속성에 대해 다음을 선언 할 수 있습니다.
<properties>
<maven.compiler.release>7</maven.compiler.release>
</properties>
그리고 3.6 버전부터 시작 하는 maven-compiler-plugin의 경우 다음과 같이 작성할 수 있습니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>7</release>
</configuration>
</plugin>
공지 사항 것을 우리는 새로운에서 Java 버전을 추가 할 수 있습니다 <자료> 속성. 이 예에서는 Java 7 용 애플리케이션을 컴파일합니다.
또한 시스템에 JDK 7을 설치할 필요가 없습니다. Java 9에는 새 언어 기능을 JDK 7과 연결하기위한 모든 정보가 이미 포함되어 있습니다.
3. 스프링 부트 사양
Spring Boot 애플리케이션 은 pom.xml 파일 의 속성 태그 내에 JDK 버전을 지정 합니다.
먼저 spring-boot-starter-parent 를 프로젝트에 부모 로 추가해야합니다 .
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
</parent>
이 상위 POM을 사용하면 기본 플러그인과 Java 버전을 포함한 여러 속성을 구성 할 수 있습니다. 기본적으로 Java 버전은 1.8 입니다.
그러나 java.version 속성 을 지정하여 부모의 기본 버전을 재정의 할 수 있습니다 .
<properties>
<java.version>1.9</java.version>
</properties>
java.version 속성 을 설정하여 소스 및 대상 Java 버전이 둘 다 1.9 임을 선언합니다 .
무엇보다도이 속성은 Spring Boot Specification이라는 점을 명심해야합니다. 또한 Spring Boot 2.0부터 Java 8이 최소 버전입니다.
이는 이전 JDK 버전에 대해 Spring Boot를 사용하거나 구성 할 수 없음을 의미합니다.
4. 결론
이 빠른 튜토리얼은 Maven 프로젝트에서 Java 버전을 설정하는 가능한 방법을 보여줍니다.
다음은 주요 내용을 요약 한 것입니다.
- <java.version> 사용 은 Spring Boot 애플리케이션에서만 가능합니다.
- 간단한 경우에는 maven.compiler.source 및 maven.compiler.target 속성이 가장 적합해야합니다.
- 마지막으로 컴파일 프로세스를 더 많이 제어하려면 maven-compiler-plugin 구성 설정을 사용하십시오.
- https://docs.spring.io/spring-framework/docs/current/reference/html
- https://www.baeldung.com/maven-java-version
'Java' 카테고리의 다른 글
Spring YAML 구성 방법 (0) | 2021.03.09 |
---|---|
Spring을 사용한 Apache Kafka 사용방법 (0) | 2021.03.09 |
Spring Cloud OpenFeign 소개 (0) | 2021.03.09 |
Feign 클라이언트 Timeout 설정 방법 (0) | 2021.03.09 |
Spring Cloud Netflix 및 Feign과의 통합 테스트 (0) | 2021.03.08 |