Rumah > Java > javaTutorial > 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
Lepaskan: 2024-11-15 09:52:03
asal
614 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk
  • Keluaran:

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

<properties>
    <maven.compiler.release>9</maven.compiler.release>
</properties>
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan