Rumah  >  Artikel  >  Java  >  Bagaimanakah anda menentukan versi Java dalam Maven untuk modul kanak-kanak: pemalam sifat vs. pengkompil?

Bagaimanakah anda menentukan versi Java dalam Maven untuk modul kanak-kanak: pemalam sifat vs. pengkompil?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-15 09:52:03489semak imbas

How do you specify Java version in Maven for child modules: properties vs. compiler plugin?

Menentukan Versi Java dalam Maven: Membandingkan Sifat dan Pemalam Pengkompil

Pengenalan

Apabila bekerja dengan Maven, nyatakan Java versi untuk modul kanak-kanak dalam projek berbilang modul memerlukan pertimbangan. Artikel ini mengkaji perbezaan antara menetapkan versi Java menggunakan sifat Java dan pemalam pengkompil Maven.

Menetapkan Versi Java Menggunakan Sifat

Sifat java.version dalam < hartanah> bahagian pom.xml direka untuk digunakan dengan Spring Boot dan menetapkan kedua-dua sumber dan versi Java sasaran:

<properties>
    <java.version>1.8</java.version>
</properties>

Menetapkan Versi Java Menggunakan Pemalam Pengkompil

Pemalam pengkompil Maven menyediakan dua pilihan: menentukan versi sumber dan sasaran atau menggunakan "keluaran" hujah.

  • Sumber dan Sasaran:
<plugins>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
</plugins>

Ini bersamaan dengan menggunakan yang berikut sifat:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>
  • Keluaran:

Dari Maven 3.6 dan seterusnya, hujah keluaran boleh digunakan untuk menentukan Java versi:

<properties>
    <maven.compiler.release>9</maven.compiler.release>
</properties>

Perbezaan

  • Sumber dan Sasaran lwn. Sifat: Ia adalah setara dari segi fungsi.
  • Keluaran: Dalam Maven 3.8 dan ke atas, ia menyediakan cara piawai untuk menentukan ketiga-tiga versi (sumber, sasaran dan bootstrap) untuk Java 9 dan kemudian.
  • Spring Boot: java.version hanya berfungsi dalam projek Spring Boot.

Amalan Terbaik

Untuk Java 8 dan di bawah:

  • Gunakan salah satu kaedah untuk menentukan sumber dan sasaran.
  • Jika hanya sumber ditentukan, Maven boleh menggunakan versi sasaran yang berbeza berdasarkan sumber yang ditentukan.

Untuk Java 9 dan ke atas:

  • Pertimbangkan untuk menggunakan hujah keluaran untuk memastikan versi yang konsisten untuk sumber, sasaran, dan bootstrap.

fork, executable dan JAVA_HOME

  • Jika versi JAVA_HOME JDK tidak serasi dengan versi Java yang ditentukan, nyatakan fork=" benar" dan boleh laksana dalam konfigurasi pengkompil.
  • Ia adalah tidak disyorkan untuk versi sumber dan sasaran melebihi versi JDK yang ditunjukkan oleh JAVA_HOME, kerana JDK tidak boleh menyusun dengan spesifikasi yang lebih terkini.

Atas ialah kandungan terperinci Bagaimanakah anda menentukan versi Java dalam Maven untuk modul kanak-kanak: pemalam sifat vs. pengkompil?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn