Mengatur Versi Java di Maven

1. Ikhtisar

Dalam tutorial singkat ini, kami akan menunjukkan cara mengatur versi Java di Maven .

Sebelum melanjutkan, kita dapat memeriksa versi JDK default Maven . Menjalankan perintah mvn -v akan menampilkan versi Java yang digunakan Maven.

2. Gunakan Plugin Compiler

Kita dapat menentukan versi Java yang diinginkan di plugin compiler.

2.1. Plugin Kompilator

Opsi pertama adalah menyetel versi di properti plugin compiler:

 1.8 1.8 

Kompilator Maven menerima perintah ini dengan versi - target dan - sumber . Jika kita ingin menggunakan fitur bahasa Java 8, - source harus disetel ke 1.8 .

Juga, untuk kelas yang dikompilasi agar kompatibel dengan JVM 1.8, nilai - target harus 1,8 .

Nilai default untuk keduanya adalah versi 1.6.

Sebagai alternatif, kita dapat mengkonfigurasi plugin kompilator secara langsung:

  maven-compiler-plugin  1.8 1.8   

The maven-compiler-plugin yang juga memiliki sifat konfigurasi tambahan yang memungkinkan kita untuk memiliki kontrol atas proses kompilasi luar -source dan -target versi.

2.2 Java 9 dan Seterusnya

Selanjutnya, mulai dari versi JDK 9, kita dapat menggunakan opsi baris perintah -lepaskan baru . Argumen baru ini secara otomatis akan mengkonfigurasi kompilator untuk menghasilkan file kelas yang akan ditautkan ke implementasi versi platform yang diberikan.

Secara default, opsi -source dan -target tidak menjamin kompilasi silang .

Ini berarti kami tidak dapat menjalankan aplikasi kami pada versi platform yang lebih lama. Selain itu, untuk mengkompilasi dan menjalankan program untuk versi Java yang lebih lama, kita juga perlu menentukan opsi -bootclasspath .

Untuk melakukan kompilasi silang dengan benar, opsi -release baru menggantikan tiga tanda: -source, -target , dan -bootclasspath .

Setelah mengubah contoh kita, untuk properti plugin kita dapat mendeklarasikan:

 7 

Dan untuk maven-compiler-plugin mulai dari versi 3.6 kita bisa menulis:

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

Seperti yang kami perhatikan, kami dapat menambahkan versi Java di fileatribut . Dalam contoh ini, kami mengkompilasi aplikasi kami untuk Java 7.

Terlebih lagi, kami tidak memerlukan JDK 7 yang dipasang di mesin kami. Java 9 sudah berisi semua informasi untuk menghubungkan fitur bahasa baru dengan JDK 7.

3. Spesifikasi Spring Boot

Aplikasi Spring Boot menentukan versi JDK di dalam tag properti di file pom.xml .

Pertama, kita perlu menambahkan spring-boot-starter-parent sebagai induk untuk proyek kita:

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

POM induk ini memungkinkan kita untuk mengkonfigurasi plugin default dan beberapa properti termasuk versi Java: Secara default, versi Java adalah 1.8 .

Namun, kita dapat mengganti versi default dari induk dengan menentukan properti java.version :

 1.9 

Dengan menyetel properti java.version kami mendeklarasikan bahwa versi source dan target Java sama dengan 1.9 .

Di atas segalanya, kita harus ingat bahwa properti ini adalah Spesifikasi Spring Boot. Selain itu, mulai dari Spring Boot 2.0, Java 8 adalah versi minimum.

Ini berarti kami tidak dapat menggunakan atau mengkonfigurasi Spring Boot untuk versi JDK yang lebih lama.

4. Kesimpulan

Tutorial singkat ini mendemonstrasikan kemungkinan cara menyetel versi Java di proyek Maven kami.

Singkatnya:

  • Menggunakan hanya mungkin dengan aplikasi Spring Boot
  • Untuk kasus sederhana maven.compiler.source dan maven.compiler.target properti harus menjadi yang terbaik-fit
  • Terakhir, untuk memiliki kendali lebih atas proses kompilasi, gunakan pengaturan konfigurasi maven-compiler-plugin