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