Sette Java-versjonen i Maven

1. Oversikt

I denne raske opplæringen viser vi hvordan du gjør det angi Java-versjonen i Maven.

Før vi går videre, kan vi sjekk standard JDK-versjonen av Maven. Kjører mvn -v kommandoen vil vise Java-versjonen der Maven kjører.

2. Bruk Compiler Plugin

Vi kan spesifisere ønsket Java-versjon i kompilatorprogrammet.

2.1. Kompilator-plugin

Det første alternativet er å sette versjonen i kompilatorens plugin-egenskaper:

 1.8 1.8 

Maven-kompilatoren godtar denne kommandoen med -mål og -kilde versjoner. Hvis vi vil bruke Java 8-språkfunksjonene, er -kilde bør settes til 1.8.

For at de kompilerte klassene skal være kompatible med JVM 1.8, er -mål verdien skal være 1.8.

Standardverdien for begge er 1.6-versjonen.

Alternativt kan vi konfigurere kompilatorprogrammet direkte:

  maven-compiler-plugin 1.8 1.8 

De maven-compiler-plugin har også flere konfigurasjonsegenskaper som tillater oss å ha mer kontroll over kompileringsprosessen utover -kilde og -mål versjoner.

2.2 Java 9 og videre

Dessuten, Fra og med JDK 9-versjonen kan vi bruke en ny -utgivelse kommandolinjealternativ. Dette nye argumentet vil automatisk konfigurere kompilatoren til å produsere klassefiler som vil lenke mot implementeringen av den gitte plattformversjonen.

Som standard er -kilde og -mål opsjoner garanterer ikke en kryss-kompilering.

Dette betyr at vi ikke kan kjøre applikasjonen vår på eldre versjoner av plattformen. I tillegg, for å kompilere og kjøre programmene for eldre Java-versjoner, må vi også spesifisere -bootclasspath alternativ.

Å krysskompilere riktig, den nye -utgivelse alternativet erstatter tre flagg: -kilde,-mål og -bootclasspath.

Etter å ha transformert eksemplene våre, kan vi for plugin-egenskapene erklære:

 7 

Og for maven-compiler-plugin med utgangspunkt i 3.6-versjonen kan vi skrive:

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

Som vi merker, vi kan legge til Java-versjonen i en ny Egenskap. I dette eksemplet kompilerer vi applikasjonen vår for Java 7.

Enda mer trenger vi ikke en JDK 7 installert i maskinen vår. Java 9 inneholder allerede all informasjonen for å koble de nye språkfunksjonene til JDK 7.

3. Spring Boot Spesifikasjon

Spring Boot-applikasjoner spesifiserer JDK-versjonen inne i eiendommer tagger i pom.xml fil.

Først må vi legge til spring-boot-starter-parent som foreldre til prosjektet vårt:

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

Denne overordnede POM lar oss konfigurere standard plugins og flere egenskaper inkludert Java-versjonen: Som standard er Java-versjonen 1.8.

Vi kan imidlertid overstyre standardversjonen av foreldrene ved å spesifisere java.versjon eiendom:

 1.9 

Ved å stille inn java.versjon eiendom erklærer vi at både kilden og målversjonen av Java er like 1.9.

Fremfor alt bør vi huske at denne egenskapen er en vårstøvlespesifikasjon. I tillegg fra og med Spring Boot 2.0 er Java 8 minimumsversjonen.

Dette betyr at vi ikke kan bruke eller konfigurere Spring Boot for de eldre JDK-versjonene.

4. Konklusjon

Denne raske opplæringen demonstrerer mulige måter å sette Java-versjon på i vårt Maven-prosjekt.

Oppsummert:

  • Ved hjelp av er bare mulig med Spring Boot-applikasjonen
  • For enkle saker maven.compiler.source og maven.compiler.target egenskapene skal være best egnet
  • Til slutt, for å ha mer kontroll over kompileringsprosessen, bruk maven-compiler-plugin konfigurasjonsinnstillinger

$config[zx-auto] not found$config[zx-overlay] not found