Indstilling af Java-versionen i Maven

1. Oversigt

I denne hurtige vejledning viser vi, hvordan du gør det indstil Java-versionen i Maven.

Før vi går videre, kan vi tjek standard JDK-versionen af ​​Maven. Kører mvn -v kommando viser Java-versionen, hvor Maven kører.

2. Brug Compiler Plugin

Vi kan specificere den ønskede Java-version i compiler-pluginet.

2.1. Compiler-plugin

Den første mulighed er at indstille versionen i compiler plugin egenskaber:

 1.8 1.8 

Maven-compileren accepterer denne kommando med -mål og -kilde versioner. Hvis vi vil bruge Java 8-sprogfunktionerne, er -kilde skal indstilles til 1.8.

For at de kompilerede klasser skal være kompatible med JVM 1.8, er -mål værdi skal være 1.8.

Standardværdien for dem begge er 1.6-version.

Alternativt kan vi konfigurere compiler plugin direkte:

  maven-compiler-plugin 1.8 1.8 

Det maven-compiler-plugin har også yderligere konfigurationsegenskaber, der giver os mulighed for at have mere kontrol over kompileringsprocessen ud over -kilde og -mål versioner.

2.2 Java 9 og videre

Desuden, startende fra JDK 9 version, kan vi bruge en ny -frigøre kommandolinjemulighed. Dette nye argument konfigurerer automatisk compileren til at producere klassefiler, der linker til implementeringen af ​​den givne platformversion.

Som standard er -kilde og -mål optioner garanterer ikke en krydssamling.

Dette betyder, at vi ikke kan køre vores applikation på ældre versioner af platformen. Derudover skal vi også specificere for at kompilere og køre programmerne til ældre Java-versioner -stienklassesti mulighed.

For at krydskompilere korrekt, den nye -frigøre option erstatter tre flag: -kilde,-mål og -bootclasspath.

Efter at have transformeret vores eksempler kan vi for pluginegenskaberne erklære:

 7 

Og til maven-compiler-plugin startende fra 3.6-versionen kan vi skrive:

 org.apache.maven.plugins maven-compiler-plugin 3.8.0 7 

Som vi bemærker, vi kan tilføje Java-versionen i en ny attribut. I dette eksempel kompilerer vi vores ansøgning til Java 7.

Endnu mere har vi ikke brug for en JDK 7 installeret i vores maskine. Java 9 indeholder allerede al information til sammenkædning af de nye sprogfunktioner med JDK 7.

3. Specifikation for fjederstøvle

Spring Boot-applikationer angiver JDK-versionen inde i ejendomme tags i pom.xml fil.

Først skal vi tilføje spring-boot-starter-parent som forælder til vores projekt:

 org.springframework.boot spring-boot-starter-parent 

Denne overordnede POM giver os mulighed for at konfigurere standard plugins og flere egenskaber inklusive Java-versionen: Som standard er Java-versionen 1.8.

Vi kan dog tilsidesætte forældrenes standardversion ved at angive java.version ejendom:

 1.9 

Ved at indstille java.version egenskab erklærer vi, at både kilde- og mål-Java-versionerne er lig med 1.9.

Frem for alt skal vi huske, at denne egenskab er en Spring Boot Specification. Derudover startende fra Spring Boot 2.0 er Java 8 den mindste version.

Dette betyder, at vi ikke kan bruge eller konfigurere Spring Boot til de ældre JDK-versioner.

4. Konklusion

Denne hurtige vejledning demonstrerer de mulige måder at indstille Java-version på i vores Maven-projekt.

Sammenfattende:

  • Ved brug af er kun mulig med Spring Boot-applikationen
  • Til enkle sager maven.compiler.source og maven.compiler.target egenskaber skal være bedst egnet
  • Endelig, for at få mere kontrol over kompileringsprocessen skal du bruge maven-compiler-plugin konfigurationsindstillinger