Meskipun menentukan JDK 1.7 di semua pengaturan proyek (termasuk di File -> Project Structure -> Project :: Project SDK
), kesalahan berikut dihasilkan oleh IntelliJ 13
ketika mencoba mengkompilasi beberapa kode Java 7 sederhana yang tidak menggunakan operator berlian:
java: diamond operator is not supported in -source 1.5
(use -source 7 or higher to enable diamond operator)
Apakah ada tempat lain di konfigurasi tempat -source 7
opsi yang diharapkan harus diaktifkan?
File -> Project Structure -> Project :: Project language level
ubah keDiamonds, ARM, multi-catch etc
?Jawaban:
Jika tidak ada yang membantu (kasus saya), Anda dapat mengaturnya di pom.xml Anda, seperti ini:
Seperti yang dikatakan pria keren ini di sini: https://stackoverflow.com/a/25888116/1643465
sumber
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
Forum Dukungan InteliJSilakan periksa tingkat bahasa proyek / modul Anda (Struktur Proyek | Proyek; Struktur Proyek | Modul | nama-modul | Sumber). Anda mungkin juga ingin melihat Pengaturan | Kompiler | Java Compiler | Versi bytecode per modul.
Atur juga ini:
File -> Struktur Proyek -> Modul :: Sumber (di sebelah Paths and Dependencies) dan yang memiliki opsi "Level bahasa" yang juga perlu diatur dengan benar.
sumber
Additional command line parameters
dalamJava Compiler
pengaturan kosong.[Untuk IntelliJ IDEA 2016.2]
Saya ingin memperluas sebagian dari jawaban Peter Gromov dengan tangkapan layar terbaru. Khususnya bagian khusus ini:
Saya percaya bahwa (setidaknya di 2016.2): memeriksa berbagai komitmen di
git
reset ini menjadi 1,5.sumber
git checkout
). Saya menemukan bahwa saya dapat menghapus entri dalam daftar ini dengan aman; modul kembali menggunakan "Project bytecode version".Atau, Anda dapat menerapkan maven-compiler-plugin dengan versi java yang sesuai dengan menambahkan ini ke pom.xml Anda:
sumber
Saya mencoba membuat perubahan pada Intellij IDEA seperti di bawah ini:
1.
2.
tetapi tidak ada yang berhasil, itu mengembalikan versi ke java 1.5 segera setelah saya menyimpannya.
Namun, menambahkan baris di bawah ini ke root (level proyek) pom.xml membantu saya untuk menyelesaikan masalah di atas: (kedua opsi bekerja untuk saya)
Pilihan 1:
Pilihan 2:
sumber
File-> Struktur proyek-> Pengaturan Proyek-> Proyek-> tingkat Bahasa Proyek
File-> Struktur proyek-> Pengaturan Proyek-> Modul-> Tingkat bahasa
Ubah level menggunakan drop down
sumber
Di baris perintah Anda (terminal Unix) Buka folder root proyek Anda, dan lakukan ini
Ini akan mengubah properti level bahasa di semua file .iml proyek Anda dari java 1.5 ke java 1.8.
sumber
compiler.xml
akar proyek (IntelliJ 2017.2):sed 's/target="1.5"/target="1.8"/g' .idea/compiler.xml
Pertama, Anda perlu mengubah "versi bytecode proyek" di bawah
File > Settings
,Compiler > Java Compiler
Kedua, lakukan pembangunan kembali penuh.
sumber
Saya memiliki masalah yang sama tetapi dengan situasi yang berbeda. Saya dapat mengkompilasi tanpa masalah dengan maven di command line (
mvn clean install
), tetapi di Intellij saya selalu mendapatkannya"java: diamond operator is not supported in -source 1.5"
kesalahan kompilasi meskipun saya telah mengatur plugin-maven-compiler dengan java 1.8 di pom.xml.Ternyata saya memiliki pengaturan repositori jarak jauh di pengaturan maven saya.xml yang bergantung pada proyek, tetapi Intellij menggunakan pakar sendiri yang tidak memiliki pengaturan yang sama dengan pakar lokal saya.
Jadi solusi saya adalah mengubah pengaturan pakar Intellij (
Settings -> Build, execution, Deployment -> Maven -> Maven home directory
) untuk menggunakan pakar lokal.sumber
Di IntelliJ Community Edition 2019.02, Mengubah pengaturan berikut berhasil bagi saya
Perbarui File-> Struktur proyek-> Pengaturan Proyek-> Proyek-> Tingkat Bahasa Proyek ke Java 11 (perbarui ke versi java yang ingin Anda gunakan dalam proyek Anda) menggunakan drop down.
Perbarui File-> Struktur proyek-> Pengaturan Proyek-> Modul-> Tingkat Bahasa
Perbarui File-> Pengaturan-> Bangun, Eksekusi, Deployment -> Compiler -> Java Compiler-> Project ByteCode Version ke java 11.
Perbarui versi Target untuk semua entri di bawah File-> Pengaturan-> Bangun, Eksekusi, Deployment -> Compiler -> Java Compiler-> Per module Byte Code Version.
sumber
Saya memiliki properti berikut yang bekerja untuk saya di IntelliJ 2017
sumber
Satu hal lagi yang dapat menyebabkan ini memiliki salah
version
satu<parent>
proyek.Dalam kasus saya itu menunjuk ke proyek yang tidak ada dan untuk beberapa alasan IntelliJ menurunkan versi dalam pengaturan ke 1,5 dan kemudian ketika saya memperbaikinya, masih menafsirkan versi kode target sebagai 5 (meskipun mengaturnya ke 11).
sumber