Postavljanje Java verzije u Mavenu

1. Pregled

U ovom brzom vodiču pokazat ćemo kako postavili Java verziju u Mavenu.

Prije nego što krenemo naprijed, možemo provjerite zadanu JDK verziju Mavena. Pokretanje mvn -v naredba će prikazati Java verziju u kojoj Maven radi.

2. Upotrijebite dodatak za kompajler

U dodatku za kompajler možemo odrediti željenu Javinu verziju.

2.1. Dodatak za kompajler

Prva opcija je postavljanje verzije u svojstvima dodatka kompajlera:

 1.8 1.8 

Prevoditelj Maven prihvaća ovu naredbu s -cilj i -izvor verzije. Ako želimo koristiti jezik Java 8, značajke -izvor treba postaviti na 1.8.

Također, da bi kompilirane klase bile kompatibilne s JVM 1.8, -cilj vrijednost bi trebala biti 1.8.

Zadana vrijednost za obje je 1.6 verzija.

Alternativno, dodatak kompajlera možemo konfigurirati izravno:

  maven-compiler-plugin 1.8 1.8 

The maven-compiler-plugin također ima dodatna svojstva konfiguracije koja nam omogućuju veću kontrolu nad procesom kompilacije -izvor i -cilj verzije.

2.2 Java 9 i novije verzije

Nadalje, počevši od verzije JDK 9, možemo koristiti novu -objava opcija naredbenog retka. Ovaj novi argument automatski će konfigurirati prevoditelj za stvaranje datoteka klase koje će se povezivati ​​s implementacijom zadane verzije platforme.

Prema zadanim postavkama -izvor i -cilj opcije ne jamče unakrsnu kompilaciju.

To znači da našu aplikaciju ne možemo pokretati na starijim verzijama platforme. Uz to, za kompajliranje i pokretanje programa za starije verzije Jave također moramo navesti -bootclasspath opcija.

Za ispravnu unakrsnu kompilaciju, nova -objava opcija zamjenjuje tri zastavice: -izvor,-cilj i -bootclasspath.

Nakon transformacije naših primjera, za svojstva dodatka možemo deklarirati:

 7 

I za maven-compiler-plugin počevši od verzije 3.6 možemo napisati:

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

Kao što primjećujemo, inačicu Java možemo dodati u novu atribut. U ovom primjeru kompajliramo našu aplikaciju za Javu 7.

Čak i više, ne treba nam JDK 7 instaliran u našem stroju. Java 9 već sadrži sve informacije za povezivanje novih jezičnih značajki s JDK 7.

3. Specifikacija proljetnog čizma

Spring Boot aplikacije navode JDK verziju unutar Svojstva oznake u pom.xml datoteka.

Prvo, moramo dodati proljeće-čizma-starter-roditelj kao roditelj našeg projekta:

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

Ovaj nadređeni POM omogućuje nam konfiguriranje zadanih dodataka i više svojstava, uključujući inačicu Java: Prema zadanim postavkama, inačica Java je 1.8.

Međutim, možemo nadjačati zadanu verziju roditelja navodeći java.verzija svojstvo:

 1.9 

Postavljanjem java.verzija svojstvo izjavljujemo da su izvorna i ciljna Java inačica jednake 1.9.

Iznad svega, trebali bismo imati na umu da je ovo svojstvo Spring Boot Specification. Dodatno, počevši od Spring Boot 2.0, Java 8 je minimalna verzija.

To znači da ne možemo koristiti ili konfigurirati Spring Boot za starije verzije JDK.

4. Zaključak

Ovaj brzi vodič prikazuje moguće načine postavljanja Java verzije u našem projektu Maven.

U sažetku:

  • Koristeći moguće je samo s aplikacijom Spring Boot
  • Za jednostavne slučajeve maven.compiler.izvor i maven.compiler.cilj svojstva bi trebala najbolje odgovarati
  • Konačno, za veću kontrolu nad postupkom kompilacije koristite maven-compiler-plugin postavke konfiguracije