Kesalahan: java: rilis sumber tidak valid: 8 di Intellij. Apa artinya?

342

Saya mencoba untuk mengkompilasi beberapa kode di Saya menggunakan Intellij Ultimate 13.1.4, tetapi saya mendapatkan kesalahan berikut dan saya tidak tahu apa artinya:

Information:Using javac 1.7.0_55 to compile java sources
Information:java: Errors occurred while compiling module 'Example'
Information:Compilation completed with 1 error and 0 warnings in 3 sec
Information:1 error
Information:0 warnings
Error:java: invalid source release: 8

Dugaan saya adalah sesuatu yang berhubungan dengan Java 8 vs Java 7, tapi saya tidak tahu apa yang spesifik. Saya sudah mencoba ke Google untuk pesan ini, tetapi mereka berbicara tentang javacatau target release, jadi sepertinya tidak berlaku.

David mengatakan Reinstate Monica
sumber
2
Versi Java apa yang diinstal? Apa JRE / JDK yang Anda maksud dengan intellij, dalam pengaturan IDE?
nanofarad
2
Mungkin pengaturan proyek. Periksa JDK yang Anda tunjuk dan tingkat bahasa yang Anda minta.
duffymo
1
@ Apakah Anda benar, itu menunjuk ke 8. Saya tidak menyadari bahwa itu adalah pengaturan.
David berkata Reinstate Monica

Jawaban:

767

Saya memiliki masalah yang sama ketika "menurunkan" proyek dari Java 8 ke Java 6. Alasannya adalah bahwa itu tidak berubah di semua tempat di IntelliJ.

Di IntelliJ 13.1.4 saya harus mengubah versi Java dan SDK di tempat-tempat berikut untuk tidak mendapatkan kesalahan ini:

  • File -> Struktur Proyek -> Pengaturan Proyek
  • File -> Struktur Proyek -> Pengaturan Modul -> Tab: Sumber: Level Bahasa
  • File -> Struktur Proyek -> Pengaturan Modul -> Tab: Ketergantungan: Modul SDK
  • File -> Pengaturan -> Compiler -> Java Compiler -> Target bytecode versi

tangkapan layar File> Project Structure> Project

tangkapan layar File> Struktur Proyek> Modul> Sumber

tangkapan layar File> Struktur Proyek> Modul> Ketergantungan

tangkapan layar File> Pengaturan / Preferensi> Kompiler> Kompiler Java

Peluru terakhir adalah yang tidak diperbarui dalam kasus saya. Setelah saya mengubah ini, kesalahannya hilang.

Andreas Lundgren
sumber
31
yang membunuh saya adalah ini: File -> Settings -> Compiler -> Java Compiler -> Target bytecode version. Terima kasih.
bitoiu
18
Saya juga mengalami masalah ini, tetapi tidak ada yang berhasil. Saya harus melakukan IntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM, kalau-kalau ada yang mengalami masalah ini saat menggunakan Gradle.
Emil
2
Sumber: Perubahan Tingkat Bahasa menjadi 7 - Berlian, ARM, multi-tangkapan, dll. Untuk IDEA 15
Mia
4
Ini harus menjadi jawaban yang diterima. Sebagai kepala kecil, di IntelliJ IDEA 15, poin 4 telah pindah ke Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler.
Tepatnya
Ada juga pilihan JRE di beberapa konfigurasi run / debug. Sebagai contoh, konfigurasi Tomcat run / debug memiliki pemilih "JRE" yang dapat menyebabkan kesalahan ini.
jordanpg
16

Periksa pom.xmldulu (jika ada),
periksa JDKketergantungan modul Anda . Pastikan itu adalah Untuk melakukan ini, pergi ke Struktur Proyek -> SDK's Tambahkan path ke tempat Anda menyimpan 1,8 ( dalam kasus saya) Terapkan perubahan Sekarang, buka Struktur Proyek -> Modul Ubah Modul SDK untuk1.8

jdk1.8.0_45.jdk


1.8
Menerapkan perubahan

Voila! Kamu sudah selesai

Yash Bajaj
sumber
6

Untuk pengguna Gradle yang memiliki masalah ini, jika tidak ada yang membantu ini adalah yang menyelesaikan masalah saya - terapkan deklarasi ini di file build.gradle Anda:

targetCompatibility = 1.6 //or 1.7;1.8 and so on
sourceCompatibility = 1.6 //or 1.7;1.8 and so on

Masalah terpecahkan!

Java_Waldi
sumber
5

Ubah pom.xml 1.6ke1.8

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>
Aziz Mamoyan
sumber
5

Itu bisa diatasi dengan pengaturan Project Structure. Anda hanya perlu memilih jalur yang benar untuk versi JDK terkait. Pilih newpada tab dependensi, dan pilih path. Selesai!

masukkan deskripsi gambar di sini

snr
sumber
4

Jika Anda menggunakan Gradle sebagai alat bangun dan Anda mendapatkan kesalahan ini ketika menjalankan tugas Gradle yaitu TomcatRun lihat jawaban saya yang lain untuk pertanyaan yang sama

javac: rilis target yang tidak valid: 1.8

juliangonzalez
sumber
Terima kasih! Ini menyelesaikan masalah saya setelah jawaban di atas tidak.
chazzlabs
2

Jawaban Andreas Lundgren berhasil dan saya dapat mengkompilasi dan menjalankan aplikasi saya.

Namun, ketika saya mencoba menjalankan tes JUnit terkait proyek saya menerima kesalahan yang sama. Lari

gradle -version

dari command prompt Windows menunjukkan bahwa gradle masih mengambil jdk yang salah. Untuk memperbaikinya saya harus mengatur JAVA_HOMEvariabel lingkungan untuk menunjuk ke jdk yang benar dan restart IntelliJ.

jilbot
sumber
1

Saya memeriksa semua di atas mengatakan versi proyek, versi modul, versi bytecode proyek, target dalam pengaturan versi bytecode IntelliJ Idea, tetapi semua sama seperti yang saya garuk.

Saya menghadapi kesalahan ini Error:java: invalid source release: 1.8di IntelliJ Idea 2017.2.6karena saya upgrade versi ketergantunganMaven berkas pom, yang (ketergantungan) seharusnya membangun untuk JDK 1,8 aplikasi dan saya sedang membangun aplikasi saya dan dengan sumber compiler maven dan JDK 1,7 sasaran.

Karenanya saya kembali menurunkan versi ketergantungan ke versi sebelumnya di Mavenpom, dan kesalahan hilang setelah proyek Rebuild Module 'xyz_project'.

ArifMustafa
sumber
0

Untuk pengguna Grails, terapkan deklarasi ini di file BuildConfig.groovy Anda:

grails.project.target.level = 1.6 //or 1.7;1.8 and so on
grails.project.source.level = 1.6 //or 1.7;1.8 and so on
B5A7
sumber
0

Anda perlu mengklik ke proyek Buka Pengaturan Modul dan mengubah jalur JDK Anda, jika dalam file POM Anda menggunakan jdk 1.8, mengkonfigurasi jdk 1.8 dengan jalur yang benar.

Katherine Nicol
sumber
0

Saya mencoba semua langkah yang disebutkan di sini https://stackoverflow.com/a/26009627/2058104 , tetapi poin ke-4 kini telah berubah. Anda harus pergi ke Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler

Di sana, seperti yang ditunjukkan pada gambar di bawah ini, Anda perlu mengubah "Versi bytecode target". Meskipun, saya mengubahnya menjadi 8 (karena saya perlu downgrade ke Java 8), itu memberikan kesalahan yang sama, berulang-ulang. Karena itu, cobalah untuk menghapus entri yang ada (dalam tabel ini) dan tambahkan lagi. Ini berhasil untuk saya.

masukkan deskripsi gambar di sini

Di sisi lain, bersihkan proyek dan coba jalankan lagi.

cresclux
sumber