Menggunakan IntelliJ 12, saya punya proyek java dan saya menggunakan maven dengan pom.xml. Proyek saya menggunakan java8, tetapi tampaknya tingkat bahasa proyek default telah diatur ke 6 saat mengimpor proyek.
Saya dapat mengubah tingkat bahasa menjadi 8.0 (F4 -> Modul -> Tingkat bahasa) namun setiap kali saya mengedit pom.xml tingkat proyek saya beralih kembali ke "menggunakan tingkat bahasa proyek", dan saya harus mengedit pengaturan ini lagi dan lagi.
Apakah ada sesuatu yang perlu saya tambahkan ke pom.xml untuk mengatur tingkat bahasa default ke 8.0?
java
maven
intellij-idea
pom.xml
Quentin
sumber
sumber
Jawaban:
Sesuai komentar Markus, berikut adalah cara melakukannya:
sumber
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
Versi pendek dari jawaban vikingsteve adalah:
sumber
Saya pikir ini ada hubungannya dengan konflik konseptual antara plugin Maven compiler dan ide IntelliJ. Rupanya versi yang lebih baru dari plugin kompiler memiliki tingkat standar 1,5 (lihat http://maven.apache.org/plugins/maven-compiler-plugin/ ). Jadi jika plugin kompiler digunakan sama sekali dalam sebuah proyek, dan level kompiler tidak secara eksplisit diatur di pom.xml, setiap kali POM diproses ulang, level akan kembali ke default.
Jadi ada konflik konseptual yang diabaikan oleh Intellij IDEA. IDE masih memungkinkan seseorang untuk mengatur pengaturan proyek dan modul, tetapi tidak memberikan peringatan atau umpan balik bahwa pengaturan ini dikendalikan oleh pom.xml. Solusi akan secara eksplisit mengizinkan menimpa pengaturan plugin compiler POM (mungkin tidak bijaksana karena apa yang kemudian terjadi ketika Anda menggunakan pakar pada baris perintah), atau untuk menonaktifkan kontrol dalam IDE ketika pengaturan dari POM ini berlaku.
Solusinya saat ini adalah dengan mengatur level kompiler yang diinginkan dalam plugin compiler di pom, re-import, daripada mencoba mengaturnya dalam pengaturan modul.
sumber
Saya meningkatkan proyek dari JDK 8 ke JDK 10+. Saya memiliki properti kompilator yang ditentukan dengan benar sebagai berikut:
Namun proyek Idea akan terus mengatur ulang level bahasa ke 8.
Akhirnya saya tahu bahwa proses impor Idea Maven menggunakan JDK 8 untuk mengimpor proyek yang membatasi level bahasa menjadi <= 8.
Untuk memperbaikinya saya memperbarui properti 'JDK untuk importir' di bawah Pengaturan -> Build, Execution, Deployment -> Build Tools -> Maven -> Mengimpor untuk menggunakan JDK 11.
sumber
Ada dua cara untuk melakukan ini, tambahkan salah satunya di file pom.xml Anda:
Pertama-Tambah Properti
kedua - Tambahkan Plugin
Beri tahu saya jika itu membantu.
sumber
Tidak ada solusi yang membantu dalam kasus saya. Saya tidak perlu menentukan versi Java di blog saya
pom.xml
.Saya perlu membuka
<project-name>.iml
file dan mengubah versi JDK di sana.Asli:
Diperbarui:
Ini tidak masuk akal sama sekali. Saya belum menentukan versi JDK untuk Java 1.5.
sumber
Saya banyak kesulitan dengan masalah ini, karena membangun layanan microsoft dengan Dropwizard. Akhirnya saya mengetahui bahwa saya memiliki properti build saya di file pom yang salah (Layanan utama
pom.xml
).Jadi, meskipun paket-paket lain lebih seperti perpustakaan , saya tidak dapat menggunakan sintaks Java 8.
Ketika saya refactored plugin build ke dalam file "global"
.pom.xml
, semua kontainer anak dapat menggunakan sintaks baru.Dapat membantu seseorang mengalami masalah dengan proyek multi-kontainer
sumber
Bagi saya solusi memperbarui POM (plugin plus properti) ke versi kompiler Java yang diperlukan (1_7 dalam kasus saya) berhasil. Namun karena file .iml untuk setiap proyek dihasilkan dengan pom asli (dengan versi kompiler default 1_5 seperti yang dijelaskan oleh seseorang di atas) memiliki versi JDK 1_5, ini masih menimpa versi pom.
Saya menghapus folder .idea secara manual dan mengimpor modul ke IntelliJ dengan impor ulang dari pom yang diperbarui. Ketika saya mengimpor kembali Modul dari POM yang diperbarui, saya dapat melihat bahwa file iml memiliki versi JDK yang diperbarui (1_7 dalam kasus saya).
sumber
Ada satu langkah tambahan yang harus saya ikuti, selain mengatur properti maven build , menambahkan maven-compiler-plugin , dan memodifikasi versi Java dalam file .iml . (masing-masing sudah didokumentasikan dalam jawaban lain). Anda juga harus mengatur versi kompiler di pengaturan .
sumber