IDE: javac: sumber rilis 1.7 membutuhkan target rilis 1.7

Ketika menjalankan JUnit test, menggunakan IntelliJ IDEA, saya mendapatkan

Bagaimana saya bisa memperbaiki ini?

  • Menggunakan SDK 1.7
  • Modul bahasa tingkat 1.7

Maven membangun bekerja dengan baik. (Yang's mengapa saya percaya ini di TAHU masalah konfigurasi)

Larutan

Kemungkinan besar anda memiliki salah compiler pilihan yang diimpor dari Maven berikut:

Juga memeriksa proyek dan modul bytecode (sasaran) versi pengaturan yang diuraikan pada gambar.

Tempat-tempat lain di mana sumber bahasa tingkat dikonfigurasi:

  • Struktur Proyek | Proyek

  • Struktur proyek | Modul (memeriksa setiap modul) | Sumber

Maven default bahasa tingkat adalah 1.5 (5.0), anda akan melihat versi ini sebagai Modul bahasa tingkat pada screenshot di atas.

Hal ini dapat diubah dengan menggunakan maven-compiler-plugin konfigurasi dalam pom.xml:


  [...]

    [...]


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

          1.8
          1.8



    [...]

  [...]

atau


  [...]

    1.8
    1.8

  [...]

IntelliJ IDEA akan menghormati pengaturan ini setelah anda Reimport Maven project di Maven Proyek alat jendela:

Komentar (12)

IntelliJ 15, 2016 & tahun 2017

Mirip dengan yang dibahas di bawah ini untuk IntelliJ 13 & 14, tapi dengan tingkat tambahan dalam Pengaturan/Preferensi panel: Pengaturan > Membangun, Pelaksanaan, Penerapan, > Compiler > Compiler Java.

IntelliJ 13 & 14

Di IntelliJ 13 dan 14, periksa Settings > Compiler > Jawa Compiler UI untuk memastikan anda're tidak menargetkan yang berbeda bytecode versi dalam modul anda.

Komentar (6)

Di IntelliJ IDEA 14.1 "Target bytecode versi" di tempat yang berbeda.

Berikut perubahan bekerja untuk saya:

File > Pengaturan... > Membangun, Eksekusi, Penyebaran > Compiler > Java Compiler : perubahan Target bytecode versi dari 1,5-1,8

Komentar (2)

Pernahkah kalian melihat konfigurasi membangun itu harus seperti itu jika anda menggunakan maven 3 dan JDK 7


    SpringApp


            maven-compiler-plugin

                1.7
                1.7


        ...

    ...
Komentar (0)

Aku berlari ke ini dan memperbaiki adalah untuk pergi ke Proyek Pengaturan > Modul > klik pada modul tertentu > Dependensi tab. Saya melihat Modul SDK masih ditetapkan pada 1.6, aku berubah menjadi 1,7 dan bekerja.

Komentar (1)

I've ditemukan opsi yang diperlukan ('target bytecode versi') di pengaturan > compiler > java compiler dalam kasus saya (intelij ide 12.1.3)

Komentar (0)

Memodifikasi pengaturan compiler file proyek di jalur berikut dan mengubah 'target' 1.7:

/project/.idea/compiler.xml



Komentar (1)

Aku memutuskan hal ini dengan menetapkan bidang kosong:

Pengaturan > Compiler > Java Compiler > Proyek bytecode versi

Dari IntelliJ menggunakan JDK versi standar.

Komentar (0)

I've hit ini setelah hanya minor upgrade dari IntelliJ IDEA 14 untuk v14.1. Bagi saya berubah edit top/orang tua pom membantu dan kemudian diklik re-impor Maven (jika tidak otomatis).

Tapi itu mungkin hanya cukup untuk Klik Kanan pada modul(s)/kumpulan/orang tua modul dan Maven -> Reimport.

Komentar (1)

Dari satu saat ke saat lain aku juga punya kesalahan ini tanpa alasan yang jelas. Saya mengubah semua jenis pengaturan pada compiler/modul dll. Tapi pada akhirnya saya hanya diciptakan IntelliJ proyek dengan mengimpor kembali Maven proyek dan masalah itu diselesaikan. Saya pikir ini adalah bug.

IntelliJ 12 129.961

Komentar (1)

Saya memutuskan metode di bawah ini

File >> Project Struktur >> Proyek >> Proyek Tingkat Bahasa --> melakukan set versi yang tepat (ex: 1.5)

Komentar (0)

Jika Maven membangun bekerja dengan baik, cobalah untuk sinkronisasi struktur Maven dan IntelliJ IDEA proyek.

Di Maven alat window, klik tombol refresh . Menekan tombol ini, IntelliJ IDEA mengurai proyek struktur di Maven alat jendela.

Catatan bahwa ini mungkin tidak membantu jika anda're menggunakan EAP membangun, karena Maven fitur sinkronisasi mungkin rusak kadang-kadang.

Komentar (0)

Jika itu adalah Gradle proyek, dalam membangun.gradle, mencari pengaturan berikut:

sourceCompatibility = "xx"
targetCompatibility = "xx"

Untuk semua subrpojects, di root anda membangun.gradle, anda dapat menempatkan:

subprojects { project ->
    sourceCompatibility = "1.7"
    targetCompatibility = "1.7"
}

Meskipun anda dapat secara manual mengatur tingkat bahasa dalam Ide > Pengaturan, jika itu adalah Gradle proyek, Ide secara otomatis mensinkronisasikan modul .iml file dari Gradle pengaturan ( diuji dengan Ide 15+). Jadi semua perubahan manual override ketika gradle lebih segar.

Berdasarkan Gradle dokumentasi, jika hal ini tidak diatur, maka saat ini JVM konfigurasi yang digunakan.

Komentar (0)

Saya menemukan cara lain untuk menjalankan ke dalam kesalahan ini. Anda bisa mendapatkan ini jika anda telah re-mengatur struktur direktori, dan salah satu pom menunjuk ke orang tua tua yang tidak ada lagi mengkonfigurasi javac (karena konfigurasi tersebut dipindahkan ke tingkat menengah). Jika hal ini terjadi atas tingkat default untuk 1,5 dan nakal tingkat yang lebih rendah pom mewarisi itu.

Hal lain untuk memeriksa ketika anda melihat kesalahan ini adalah bahwa anda pom struktur sesuai dengan struktur direktori dengan benar.

Komentar (0)

cek .idea/misc.xml kadang-kadang anda perlu untuk mengubah languageLevel="JDK_1_X" atribut manual

Komentar (0)

Anda perlu mengubah Java compiler versi di dalam membangun config.

Komentar (0)

Pastikan kanan depency dipilih. File > Struktur Proyek

Pilih proyek anda dan arahkan ke Dependensi tab. Pilih kanan ketergantungan dari dropdown atau membuat yang baru.

Komentar (0)

Jika semua solusi yang sebelumnya belum't bekerja untuk anda (yang merupakan kasus saya), anda dapat menghapus intellij config file:

  • project_directory/.idea/compiler.xml
  • project_directory/.idea/encodings.xml
  • project_directory/.idea/misc.xml
  • project_directory/.idea/modules.xml
  • project_directory/.idea/vcs.xml
  • project_directory/.idea/workspace.xml
  • dll.

Intellij akan regenerasi yang baru nanti. Namun, hati-HATI, ini juga akan menghapus semua intellij konfigurasi yang dibuat pada projet (saya.e: konfigurasi debug mode, ...)

Komentar (0)