javac: rilis target tidak valid: 1.8

87

Saya baru-baru ini mengunduh JDK 1.8.0.0_06 yang dibundel dengan NetBeans. Saya kemudian menemukan bahwa proyek JavaFx saya, yang saya kembangkan di Java 1.7 tidak dapat dikompilasi di Java 1.8, jadi saya menurunkan JDK saya ke 1.7. Masih saya tidak bisa membuatnya bekerja / dikompilasi. Saya mendapatkan kesalahan ini:

javac: invalid target release: 1.8
Usage: javac <options> <source files>

Saya benar-benar buntu dan akan sangat menghargai bantuan apa pun.

Program-Me-Rev
sumber
1
jika Anda akan mundur, ubah juga sumber proyek Anda menjadi 1,7, klik kanan pada sumber Anda Project -> Properties -> Sources windowdan tetapkan 1,7 di sini
jmj
Anda adalah penyelamat hidup @Jigar Joshi !!!! Terima kasih lagi ***** a mill. Saya sangat berterima kasih. Anda bisa menempatkan tanggapan Anda sebagai jawaban sehingga saya bisa menerimanya. Wow! Sekali lagi terimakasih. Sudah lama terjebak!
Program-Me-Rev
Jika proyek Anda tidak dapat dikompilasi di bawah Java 1.8, kemungkinan besar Anda melakukan kesalahan yang sangat parah (misalnya, Anda memiliki bidang statis untuk komponen UI dalam kode yang Anda posting di quetion Anda yang lain, yang merupakan kesalahan desain yang serius). Mungkin lebih baik untuk memperbaiki masalah itu daripada hanya kembali ke versi di mana banyak pengguna akan meningkatkannya di masa mendatang.
James_D
Anda benar @James_D. Ini adalah proyek pertama saya di java. Saya cukup banyak belajar sendiri pemrograman, dan tidak mendapatkan semuanya tentang menghindari anggota statis, antarmuka, dan sisanya tentang polimorfisme sampai sekarang. Proyek saya terlalu besar untuk diedit sekaligus. Saya berencana untuk mengeditnya dan beralih ke injeksi ketergantungan melalui Spring sedikit demi sedikit saat saya menyelesaikan area lainnya yang tersisa. Ini pelajaran yang menyakitkan, tapi dipelajari dengan baik.
Program-Me-Rev
1
Ada versi Java 1.8.0, 1.8.0_05, dan 1.8.0_11, tetapi tidak ada yang namanya 1.8.0.0_06.
David Conrad

Jawaban:

33

jika Anda akan mundur, ubah sumber proyek Anda menjadi 1,7 juga,

right click on your Project -> Properties -> Sources window 

dan setel 1.7di sini

catatan: namun saya menyarankan Anda untuk mencari tahu mengapa itu tidak berhasil pada 1.8

jmj
sumber
65

Untuk IntelliJ14 Anda mungkin harus mengubah versi bytecode wrt JDK yang Anda gunakan (dalam pengaturan global):

masukkan deskripsi gambar di sini

vikasing
sumber
Tidak berfungsi untuk saya, mengubah versi bytecode Target menjadi 1.8 tetapi mendapatkan kesalahan yang sama
tribbloid
Tetapi pertanyaannya adalah tentang Netbeans?
Jolta
27
  1. Unduh JDK 8 .
  2. Edit env var Anda untuk JAVA_HOMEmenunjuk ke JDK 1.8 yang baru diinstal: Klik-R pada My Computer -> Properties -> Advanced System Settings -> Environment Variables temukan JAVA_HOMEdi daftar dan atur nilainya menjadi seperti itu:

    C:\Program Files\Java\jdk1.8.0_31
    
  3. Temukan versi lama dan edit di PATH variabel juga.

  4. Mungkin Anda perlu memulai ulang sistem.

Harus dilakukan.

thorinkor
sumber
23

Jika error ini terjadi saat menjalankan tugas Gradle (atau Maven), Anda perlu mengubah konfigurasi fitur build tersebut agar mengarah ke penginstalan Java JDK 1.8 Anda dengan mengikuti rute ini:

File -> Pengaturan -> Build, Execution, Deployment -> Build Tools -> Gradle

Di sana Anda memeriksa proyek Linked Gradle adalah yang sedang Anda kerjakan dan pilih Gradle JVM (Anda melewatkan ini saat Anda mengimpor proyek gradle ke IntelliJ)

masukkan deskripsi gambar di sini

Ingatlah saat mengimpor proyek Gradle (atau Maven) untuk menyetel JVM target dengan benar di sini: masukkan deskripsi gambar di sini

juliangonzalez
sumber
14

Javac Anda tidak mengarah ke java yang benar.

Periksa ke mana javac Anda mengarah menggunakan perintah berikut -

update-alternatives --config javac

Jika tidak diarahkan ke javac yang ingin Anda kompilasi, arahkan ke "/ JAVA8_HOME / bin / javac", atau java mana pun yang ingin Anda kompilasi.

Piyush Jajoo
sumber
mengapa -1, saya mengalami masalah yang sama, dan itu karena javac saya tidak disetel ke versi java yang benar?
Piyush Jajoo
Ingatlah bahwa konfigurasi mungkin rusak dengan cara java dan javac dipilih dari distribusi yang berbeda!
Audrius Meskauskas
9

Sering kali, jenis masalah ini terjadi karena versi java yang salah. Pastikan variabel PATH dan JAVA_HOME Anda mengarah ke versi yang benar.

jprism
sumber
Yup - itu juga tujuan saya
guy mograbi
4

Pengaturan Maven:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>
it-webwork
sumber
3

Tidak ada solusi sebelumnya yang berhasil untuk saya.

Saya menyelesaikannya dengan mengedit .idea / compiler.xml Ada salinan "ekstra" (1) dan (2) dari modul yang buruk dengan target berbeda. Saya menghapus permintaan asing dan mengubah target di bagian menjadi 1.8 dan berhasil.

Bill Masek
sumber
Itu juga memperbaikinya untukku.
davidmerrick
2

Untuk IntelliJ IDEA Ultimate versi terbaru pada 18 Des 2017, jika saran di atas tidak berhasil, silakan coba yang berikut ini: Klik kanan pada proyek dan arahkan ke "Buka Pengaturan Modul". Buka, lalu ubah "Tingkat Bahasa" dari menu tarik-turun.

ORANG BODOH
sumber
Pastikan juga bahwa di Module Settings di bawah tab Dependencies, modul SDK yang benar dipilih.
Rene Juuse
1

jika Anda akan mundur, ubah sumber proyek Anda menjadi 1,7 juga,

klik kanan pada Project Anda -> Properties -> Sources dan atur 1.7 di sini "Jigar Joshi

Juga pergi ke build-impl.xmldan cari properti excludeFromCopy="${copylibs.excludes}"dan hapus properti ini pada kode saya berada di baris 827 tetapi saya telah melihatnya di baris lain

bagi saya itu mengambil kode dari MAC OS java 1.8 ke WIN XP java 1.7

JAG NUNEZ
sumber
1

Atau, saya memeriksa pom.xml dan mengubahnya

<java.version>1.8</java.version>

untuk

<java.version>1.7</java.version>
nanospeck
sumber
Gracias, ini memperbaikinya untukku, sangat sederhana.
Fabii
1

Saya mendapat masalah yang sama dengan netbeans, tetapi mvn build tidak masalah di jendela cmd. Bagi saya masalah teratasi setelah mengubah JDK netbeans (di netbeans.conf seperti di bawah ini),

netbeans_jdkhome = "C: \ Program Files \ Java \ jdk1.8.0_91"


Edit: Sepertinya itu disebutkan di sini: bug netbeans 236364

Leon
sumber
1

Lakukan saja ini . Kemudian batalkan cache IntelliJ ( File -> Invalidate Caches)

pengguna3399000
sumber
0

Saya mendapat masalah yang sama di IntelliJ IDEA Community dengan Maven dan saya harus mengimpor ulang proyek dengan mengklik kanan proyek di tab Proyek -> Maven -> Impor Ulang

Csa77
sumber
-1

Menginstal rilis Komunitas IDEA yang lebih baru (2018.3 bukannya 2017.x) telah memecahkan masalah saya dengan kesalahan yang sama tetapi versi java: 11. Impor kembali tidak berhasil untuk saya. Tapi itu patut dicoba.

Laszlo Lugosi
sumber