Baik. Saya memiliki masalah yang sama, tetapi saya tidak dapat mengunduh versi 1.8 karena tersembunyi di bawah nama lain. Ini adalah 8u152. Setelah beberapa jam saya menemukannya di sini: oracle.com/technetwork/java/javase/downloads/…
user2367101
Jawaban:
58
Hapus semua JDK sebelumnya termasuk 1.8 Instal JDK 1.8
@Urbycoz Anda hanya perlu pergi ke Add or Remove Programs/Program Featuresdalam Windows OS. Selanjutnya, hapus semua versi Java sebelumnya. Saya version 7juga menginstal dan setelah uninstallingitu, cordova run androidbekerja. Semoga berhasil.
Aakash
1
Tapi apa artinya? Bagaimana cordova memilih JDK jika JDK yang berbeda diinstal. Tidak mungkin Anda hanya dapat memiliki satu JDK (mis. Membangun mesin)?
@MadNeox mencopot pemasangan versi lain hanyalah solusi, bukan solusinya
Gandhi
melakukan trik untuk saya. pergi ke appwiz.cpl (dari windows cmd) dan menghapus java 7 dan java sdk 7.
Ortiz
53
Di Linux (Debian / Ubuntu) ini dapat diselesaikan dengan memilih Java 1.8 SDK di
sudo update-alternatives --config javac
Mengubah JAVA_HOMEvariabel env secara langsung tampaknya tidak berpengaruh apa-apa.
EDIT: menanggapi komentar: Ini mungkin ada hubungannya dengan fakta bahwa instalasi Java Debian (dan tampaknya Ubuntu) baru melalui manajer paket tidak menggunakan JAVA_HOMEvariabel lingkungan untuk menentukan lokasi JRE. Lihat ini dan posting ini untuk info lebih lanjut.
Anda membuat hari saya. Saya mencoba semuanya dalam beberapa hari terakhir. Tnx banyak. Tetapi mengapa hanya ini yang berhasil? Mengapa variabel pengaturan tidak berpengaruh?
saya-
1
Bekerja untuk saya juga di Ubuntu ... Saya telah melakukannya untuk javatetapi tidak javac! Sekarang tidak perlu menghapus Java 9 :)
hughjdavey
Ucapan yang sama di sini. Meskipun JAVA_HOMEmenunjuk ke 1,8 JDK kanan, hanya memperbarui sistem default yang memuaskan Cordova.
myoan
1
Saat melakukan sudo update-alternate --config javac Hanya ada satu alternatif di grup tautan javac (menyediakan / usr / bin / javac): / usr / lib / jvm / java-11-openjdk-amd64 / bin / javac Tidak ada yang perlu dikonfigurasi . saya perlu kembali ke java-8-openjdk apakah ada tempat untuk melakukannya?
Taieb
Mengapa ini adalah solusi di ubuntu. Seperti yang dikatakan myoan, mengapa memperbarui sistem default kordova puas?
Jithin
40
Anda tidak perlu mencopot pemasangan versi sdk yang lebih tinggi. install saja jdk1.8.0_161 atau jangan jika sudah install.
Sekarang atur saja JAVA_HOMEvariabel USER (bukan variabel sistem) seperti yang ditunjukkan pada gambar di bawah ini.
Dengan cara ini Anda tidak perlu mencopot pemasangan versi yang lebih tinggi dan masalah teratasi.
Anda mungkin memiliki versi yang lebih besar dari 8 tetapi Cordova hanya mendukung JDK 1.8. Lihat tautan ini Dokumentasi Cordova
Saya melihat potongan kode yang sebenarnya memeriksa nomor versi java Anda. Cari yang berikut ini: module.exports.check_java di platforms / android / cordova / lib / check_reqs.js . di baris 220. Anda akan melihat regex dan komentar yang ditinggalkan oleh tim bahwa Java 10 akan didukung di masa mendatang.
Ekspresi reguler yang ada akan gagal jika dijalankan terhadap versi terbaru java seperti Java 10. Itu karena Java 8 atau 9 disimpan dalam format berikut: 1. [8-9]. ** tetapi Java 10 disimpan sebagai 10. ** dan ekspresi reguler mencari versi dalam format 1. [8-9]. **
// Let's check for at least Java 8, and keep it future proof so we can support Java 10
var match = /javac ((?:1\.)(?:[8-9]\.)(?:\d+))|((?:1\.)(?:[1-9]\d+\.)(?:\d+))/i.exec(output);
Solusi saya:
Anda tidak perlu menghapus versi JRE atau JDK Anda saat ini karena penginstal menginstal setiap versi di folder tertentu.
Menghapus instalasi JDK versi lama akan berhasil. Tapi itu mungkin solusi yang kurasa. Saya menghadapi masalah yang sama dan memperhatikan bahwa versi baru JDK dan jalur JDK versi lama telah disebutkan di 'path'variabel lingkungan.
Menghapus jalur JDK versi lama dari 'path'variabel lingkungan melakukan trik untuk saya. Semoga bisa membantu seseorang juga.
Ya saya dapat menjalankan perintah build dengan ini, tetapi masih berjuang dengan perintah run 'ionic cordova run android', menunjukkan kesalahan INSTALL FAILED UPDATE INCOMPATIBLE.
supriya chauhan
@supriyachauhan Anda dapat mencoba menginstal ulang semuanya lagi. Jika tidak, Anda mungkin harus memberikan detail yang terperinci untuk mempersempit masalah
Gandhi
9
Saya menemukan bahwa variabel lingkungan jalur saya mengarah ke java 1.7 sementara JAVA_HOME menunjuk ke 1.8, jadi saya mengedit variabel jalur ke 1.8 dan saya baik-baik saja.
dalam kasus saya JAVA_HOME mengarah ke C: \ Program Files (x86) \ Java \ jdk1.7.0_55
ketika saya menulis di mana java di cmd itu keluar C: \ Program Files (x86) \ Java \ jdk1.7.0_55 bersama dengan jalur java.exe, saya telah mengubah variabel JAVA_HOME dari variabel lingkungan ke C: \ Program Files \ Java \ jdk1.8.0_20 & berhasil, jadi sepertinya saya punya 2 instance jdk & cordova membutuhkan v1.8. * one.
Periksa ke mana tujuan variabel Path Anda. Saya memiliki JAVA_HOME yang menunjuk ke 1.8 tetapi di Path itu menunjuk ke versi yang berbeda. Bekerja dengan baik setelah saya menyelaraskan keduanya!
ahb
6
MAC: Arahkan ke: / Library / Java / JavaVirtualMachines Pastikan Anda hanya memiliki jdk1.8.0_201.jdk Jika Anda memiliki banyak, hapus JDK lainnya
Guys untuk mendapatkan campuran langsung di Windows , Anda perlu melakukan hal berikut
Unduh dan instal versi JDK 1.8 atau lebih tinggi.
Buka variabel lingkungan, buat variabel lingkungan bernama JAVA_HOME dan setel nilai ke jalur pemasangan JDK.
C:\Program Files\Java\jdk1.8.0_162
pastikan Anda tidak menambahkan \binnilai.
Dalam variabel jalur sistem Anda, beri titik koma ;dan tambahkan nilai ini ke jalur sistem, misalnya C:\Program Files\Java\jdk1.8.0_162\bin;Di sini \binditambahkan.
Catatan: Variabel lingkungan rumit. Mereka seharusnya ditutup oleh a ; sebelum membuka yang lain. Itulah mengapa kami meletakkan satu sebelum menambahkan nilai dan satu setelah nilai untuk menutupnya.
Sekarang tutup terminal dan buka kembali lalu jalankan perintah sebelumnya.
Hari ini saya juga mendapat kesalahan ini Cordova : Requirements check failed for JDK 1.8 or greaterdi Mac OS saya saat membangun Aplikasi Ionic ketika saya menjalankan perintah ionic cordova build --release androidmelalui terminal.
Perintah di bawah ini menyelesaikan masalah saya: -
Perhatikan bahwa, terlepas dari apa yang dikatakan pesan, tampaknya itu berarti menginginkan versi 1.8, dan menampilkan pesan ini jika Anda memiliki versi yang lebih baru.
Berikut ini adalah upaya saya sebelumnya yang membawa saya ke jawaban di atas, yang kemudian berhasil ... Anda mungkin perlu melakukan sesuatu yang berbeda tergantung pada apa yang diinstal, jadi mungkin catatan ini dapat membantu:
Itu berarti saya dapat mengganti /usr/bin/javac... lihat perintah di bagian atas jawaban ...
Perintah untuk menyetelnya ke jdk1.8 menggunakan ln, di bagian atas jawaban ini, adalah yang berhasil bagi saya.
Jawaban yang diposting oleh MadNeox benar. Saya menghadapi masalah serupa, saya menginstal jdk 9 serta versi 1.8
Saya pertama kali mencoba dengan menjaga jdk 9 dan menghapus 1.8 itu akan menampilkan kesalahan Pemeriksaan Persyaratan gagal
Kemudian saya mencoba dengan menghapus jdk9 dan menginstal ulang 1. kali ini menunjukkan gagal menjalankan versi javac
Setelah bermain-main dengan variabel Lingkungan untuk beberapa waktu saya akhirnya mendapatkan solusinya
Pada titik ini sistem saya hanya memiliki jdk 1.8 versi Cordova: 7.1.0
-Buka tab Variabel Lingkungan -Di bawah variabel pengguna buat variabel baru PATH -berikan nilai berikut C: \ Program Files \ Java \ jdk1.8.0_151 \ bin (dapat berubah tergantung di mana Anda menginstal jdk)
Ini harus menyelesaikan masalah Anda. Semoga membantu
Meskipun jawabannya sudah diberikan, saya butuh waktu untuk mencari tahu di mana kesalahan saya, jadi putuskan untuk memposting ini dengan harapan akan menghemat waktu orang lain
Pastikan bahwa versi JDK yang sama (misalnya 1.8 dalam kasus ini) dapat diakses dari PATHvariabel lingkungan dan JAVA_HOME. Contoh: Jika
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_152kemudian
PATHvariabel juga harus berisi jalur di atas dan yang terpenting sebelum (jika ada) jalur lain jika JDK / JRE sudah disebutkan dalam PATHvariabel. Anda dapat memilih untuk menghapus versi lain jika tidak ada aplikasi lain yang menggunakan versi java yang berbeda.
Jika Anda telah menginstal jdk8 dan jdk9, Anda harus memeriksa versi yang mana
di jalur dan tujuan JAVA_HOME.
Di log yang Anda posting, saya melihat bahwa JAVA_HOME mengarah ke JDK9.
ubah globel JAVA_HOME env var Anda ke target JDK8 atau Anda dapat mengubah JAVA_HOME di PowerShell sebelum Anda menggunakan Cordova CLI jika Anda ingin menggunakan jdk8 hanya untuk cordova:
Saya menghadapi masalah yang sama dengan jdk1.8.0_201. Ini teratasi ketika saya membuat JAVA_HOME = C: \ Program Files \ Java \ jdk1.8.0_201 dan menambahkan "C: \ Program Files \ Java \ jdk1.8.0_201 \ bin" di variabel jalur
Saya memiliki (Open) JDK 8 dan 11 diinstal pada Windows 10 dan saya memiliki masalah yang sama. Bagi saya yang berikut ini berhasil:
Setel JAVA_HOME agar mengarah ke JDK 8. (Disebutkan dalam banyak jawaban sebelumnya.) DAN
Hapus (!) JDK 11 dari PATH karena ternyata - meskipun menampilkan jalur JAVA_HOME yang mengarah ke JDK 8 - Cordova sebenarnya mengakses JDK 11 yang disertakan dalam PATH, yang membuat pemeriksaan versi Java gagal.
Ini pertanyaan lama, tetapi karena saya baru saja mengalami masalah yang sama, tetapi kesalahan memiliki sumber lain, berikut jawaban singkatnya.
Masalah terjadi di Windows (hanya) dan dengan Webstorm IDE 2019.2
Pada versi 2019.2 Webstorm memiliki masalah, karena secara internal menggunakan open jdk untuk variabel% JAVA_HOME%, bukan (dari os) jdk java yang ditargetkan.
Dalam kasus saya (ya sudah tua, ini adalah proyek cordova tua ...)
menjalankan java -versiondi Windows cmd.exe:
$ java -version
java version "1.8.0_221"
tetapi mengeksekusi java -versiondi terminal Webstorms:
$ java -version
openjdk version "11.0.3" 2019-04-16
// more output
Perbaikan datang dengan tambalan yang dirilis nanti (hari ini), versi 2019.2.1. Sekarang Webstorm menggunakan variabel os% JAVA_HOME% sebagaimana mestinya dan java -versionhasilnya sama dalam kedua kasus.
Kesalahan terjadi saat jalur default ke java disetel ke versi selain Java 8 atau JDK 1.8. *
Untuk kasus saya, saya telah menginstal Java 11 setelah menginstal Java 8
Anda dapat menguji dengan menjalankan:
java -version
Untuk kasus saya, pengembaliannya:
java version "11.0.8" 2020-07-14 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.8+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode)
Untuk memperbaikinya, kita perlu memastikan jalur java diarahkan ke binari Java 8 sebagai gantinya
Dengan asumsi Anda sudah menginstal Java 8 atau JDK 1.8. *:
Pastikan JAVA_HOME dan JRE_HOME sudah diatur (pastikan menunjuk ke Java 1.8. *)
Di dalam PATH, Pastikan %JAVA_HOME%\binatau C:\Program Files\Java\jdk1.8.0_251\binditambahkan
Sumber masalah: Penginstalan JDK 11 saya menambahkan dua entri PATH tepat di bagian atas, yang diutamakan atau menimpa %JAVA_HOME%\binPATH yang mengarah ke JDK 1.8. *
Jangan tambahkan ini jika Anda tidak memilikinya, cari entri PATH lain yang mungkin menimpa %JAVA_HOME%\bin
Klik "Pindah ke Bawah" untuk menimpa entri sampai mereka di bawah %JAVA_HOME%\bin
%JAVA_HOME%\bin PATH yang mengarah ke Java 8 sekarang akan diprioritaskan di atas entri PATH lainnya yang mengarah ke JDK 11
Simpan, dan buka terminal baru dan jalankan
java -version
Untuk kasus saya, itu kemudian dikembalikan:
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
Sepertinya Android SDK tidak mendukung Java 9. Downgrade ke 8 jika Anda tidak ingin kembali ke JDK 1.8 yang menurut saya konyol. JDK 8 berfungsi untuk saya tetapi pastikan untuk mengatur variabel lingkungan JAVA_HOME ke lokasi instalasi JDK Anda dengan benar.
Sesuai dokumentasi resmi Cordova, ia hanya mendukung JDK 1.8 tidak lebih hingga tanggal (April 2018) . Atau mungkin ada masalah dengan skrip deteksi versi dalam cordova.
Di komputer saya, konfigurasi java dan javac tidak konsisten: java menunjuk ke JDK 9 sementara javac menunjuk ke JDK 8. Menyetel keduanya ke JDK 8 memperbaiki masalah.
ominug
0
Saya menggunakan windows dan memiliki dua jdk 1.8 dan 14 versi sesuatu ...
Menghadapi masalah yang sama dan setelah beberapa debugging temukan solusinya.
setel JAVA_HOME dengan benar.
Ubah nilai PATH variabel pengguna dengan versi jdk (1.8) baru.
Ubah nilai PATH variabel pengguna dengan versi jdk (1.8) baru.
Jawaban:
Hapus semua JDK sebelumnya termasuk 1.8 Instal JDK 1.8
sumber
Add or Remove Programs/Program Features
dalamWindows OS
. Selanjutnya, hapus semua versi Java sebelumnya. Sayaversion 7
juga menginstal dan setelahuninstalling
itu,cordova run android
bekerja. Semoga berhasil.Di Linux (Debian / Ubuntu) ini dapat diselesaikan dengan memilih Java 1.8 SDK di
Mengubah
JAVA_HOME
variabel env secara langsung tampaknya tidak berpengaruh apa-apa.EDIT: menanggapi komentar: Ini mungkin ada hubungannya dengan fakta bahwa instalasi Java Debian (dan tampaknya Ubuntu) baru melalui manajer paket tidak menggunakan
JAVA_HOME
variabel lingkungan untuk menentukan lokasi JRE. Lihat ini dan posting ini untuk info lebih lanjut.sumber
java
tetapi tidakjavac
! Sekarang tidak perlu menghapus Java 9 :)JAVA_HOME
menunjuk ke 1,8 JDK kanan, hanya memperbarui sistem default yang memuaskan Cordova.Anda tidak perlu mencopot pemasangan versi sdk yang lebih tinggi. install saja jdk1.8.0_161 atau jangan jika sudah install.
Sekarang atur saja
JAVA_HOME
variabel USER (bukan variabel sistem) seperti yang ditunjukkan pada gambar di bawah ini.Dengan cara ini Anda tidak perlu mencopot pemasangan versi yang lebih tinggi dan masalah teratasi.
sumber
Apa yang berhasil adalah menghapus jdk 9 dan menginstal ulang jkd 8.x.
Di Mac untuk menghapus instalasi, buka terminal dan ikuti langkah-langkah ini:
Kemudian instal jdk 8.x dengan mendownload paket .dmg dari Oracle.
sumber
Anda mungkin memiliki versi yang lebih besar dari 8 tetapi Cordova hanya mendukung JDK 1.8. Lihat tautan ini Dokumentasi Cordova
Saya melihat potongan kode yang sebenarnya memeriksa nomor versi java Anda. Cari yang berikut ini: module.exports.check_java di platforms / android / cordova / lib / check_reqs.js . di baris 220. Anda akan melihat regex dan komentar yang ditinggalkan oleh tim bahwa Java 10 akan didukung di masa mendatang.
Ekspresi reguler yang ada akan gagal jika dijalankan terhadap versi terbaru java seperti Java 10. Itu karena Java 8 atau 9 disimpan dalam format berikut: 1. [8-9]. ** tetapi Java 10 disimpan sebagai 10. ** dan ekspresi reguler mencari versi dalam format 1. [8-9]. **
Solusi saya:
Anda tidak perlu menghapus versi JRE atau JDK Anda saat ini karena penginstal menginstal setiap versi di folder tertentu.
1- Instal versi Java 8 Ikuti tautan ini
2- Perbarui variabel lingkungan Anda:
dengan mengarahkan mereka ke lokasi di mana JRE 8 dan JDK 8 dipasang.
Buka sesi terminal baru dan jalankan perintah yang gagal. Ini harus bekerja sekarang.
Tidak bekerja?
Jika gagal karena alasan lain, kemungkinan proses debugging:
sumber
Menghapus instalasi JDK versi lama akan berhasil. Tapi itu mungkin solusi yang kurasa. Saya menghadapi masalah yang sama dan memperhatikan bahwa versi baru JDK dan jalur JDK versi lama telah disebutkan di
'path
'variabel lingkungan.Menghapus jalur JDK versi lama dari
'path
'variabel lingkungan melakukan trik untuk saya. Semoga bisa membantu seseorang juga.sumber
Saya menemukan bahwa variabel lingkungan jalur saya mengarah ke java 1.7 sementara JAVA_HOME menunjuk ke 1.8, jadi saya mengedit variabel jalur ke 1.8 dan saya baik-baik saja.
sumber
dalam kasus saya JAVA_HOME mengarah ke C: \ Program Files (x86) \ Java \ jdk1.7.0_55
ketika saya menulis di mana java di cmd itu keluar C: \ Program Files (x86) \ Java \ jdk1.7.0_55 bersama dengan jalur java.exe, saya telah mengubah variabel JAVA_HOME dari variabel lingkungan ke C: \ Program Files \ Java \ jdk1.8.0_20 & berhasil, jadi sepertinya saya punya 2 instance jdk & cordova membutuhkan v1.8. * one.
sumber
MAC: Arahkan ke: / Library / Java / JavaVirtualMachines Pastikan Anda hanya memiliki jdk1.8.0_201.jdk Jika Anda memiliki banyak, hapus JDK lainnya
sumber
Saya setuju dengan @Hozington. Ini seharusnya merupakan bug pada kode Cordova untuk mendeteksi versi Java. Yang saya lakukan adalah:
JAVA_HOME
ke jalur JDK 8, dan ubahpath
variabelnya juga.cordova build
kembali.Dan kesalahan itu hilang!
sumber
jika Anda memiliki banyak versi JDK, Anda dapat menjalankannya
sebelum membangun cordova, untuk menggunakan versi jdk tertentu :)
sumber
Guys untuk mendapatkan campuran langsung di Windows , Anda perlu melakukan hal berikut
C:\Program Files\Java\jdk1.8.0_162
pastikan Anda tidak menambahkan\bin
nilai.;
dan tambahkan nilai ini ke jalur sistem, misalnyaC:\Program Files\Java\jdk1.8.0_162\bin;
Di sini\bin
ditambahkan.sumber
Terkadang mengubah jalur dan
java-home
tidak berhasil. Anda perlu menambahkanke jalur variabel lingkungan juga.
sumber
Hari ini saya juga mendapat kesalahan ini
Cordova : Requirements check failed for JDK 1.8 or greater
di Mac OS saya saat membangun Aplikasi Ionic ketika saya menjalankan perintahionic cordova build --release android
melalui terminal.Perintah di bawah ini menyelesaikan masalah saya: -
Semoga ini akan membantu seseorang di masa depan!
sumber
Jawaban MacOS dengan beberapa versi Java terinstal dan tidak perlu menghapus instalan
Tunjukkan versi Java yang telah saya instal:
Untuk menyetelnya ke versi jdk1.8 saya:
$ ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac /usr/local/bin/javac
Untuk menyetelnya ke versi jdk11 saya:
$ ln -s /Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac /usr/local/bin/javac
-------------------------------------------------- -----------------------
Perhatikan bahwa, terlepas dari apa yang dikatakan pesan, tampaknya itu berarti menginginkan versi 1.8, dan menampilkan pesan ini jika Anda memiliki versi yang lebih baru.
Berikut ini adalah upaya saya sebelumnya yang membawa saya ke jawaban di atas, yang kemudian berhasil ... Anda mungkin perlu melakukan sesuatu yang berbeda tergantung pada apa yang diinstal, jadi mungkin catatan ini dapat membantu:
Setel ke versi jdk1.8 saya
$ export PATH=/Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac:$PATH
Setel ke versi jdk11 saya
$ export PATH=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac:$PATH
... tapi sebenarnya itu tidak berhasil karena
/usr/bin/javac
masih yang berjalan lebih dulu:... untuk melihat apa yang berjalan pertama kali di jalur:
Itu berarti saya dapat mengganti
/usr/bin/javac
... lihat perintah di bagian atas jawaban ...Perintah untuk menyetelnya ke jdk1.8 menggunakan
ln
, di bagian atas jawaban ini, adalah yang berhasil bagi saya.sumber
Pesan kesalahan ini membuat bingung pengguna, layar suksesnya seperti di bawah ini.
Pesan kesalahan membuat pengguna mencoba memperbaiki build yang gagal dengan konfigurasi JAVA_HOME. Namun masalah sebenarnya bukan hanya di JAVA_HOME.
Saya memperbaiki masalah ini dengan konfigurasi yang benar di JAVA_HOME dan Path di "variabel sistem".
Semoga dapat membantu untuk memperbaiki masalah, tetapi tidak menginstal ulang JDK.
sumber
Jawaban yang diposting oleh MadNeox benar. Saya menghadapi masalah serupa, saya menginstal jdk 9 serta versi 1.8
Saya pertama kali mencoba dengan menjaga jdk 9 dan menghapus 1.8 itu akan menampilkan kesalahan Pemeriksaan Persyaratan gagal
Kemudian saya mencoba dengan menghapus jdk9 dan menginstal ulang 1. kali ini menunjukkan gagal menjalankan versi javac
Setelah bermain-main dengan variabel Lingkungan untuk beberapa waktu saya akhirnya mendapatkan solusinya
Pada titik ini sistem saya hanya memiliki jdk 1.8 versi Cordova: 7.1.0
-Buka tab Variabel Lingkungan -Di bawah variabel pengguna buat variabel baru PATH -berikan nilai berikut C: \ Program Files \ Java \ jdk1.8.0_151 \ bin (dapat berubah tergantung di mana Anda menginstal jdk)
Ini harus menyelesaikan masalah Anda. Semoga membantu
Meskipun jawabannya sudah diberikan, saya butuh waktu untuk mencari tahu di mana kesalahan saya, jadi putuskan untuk memposting ini dengan harapan akan menghemat waktu orang lain
sumber
Pastikan bahwa versi JDK yang sama (misalnya 1.8 dalam kasus ini) dapat diakses dari
PATH
variabel lingkungan danJAVA_HOME
. Contoh: JikaJAVA_HOME=C:\Program Files\Java\jdk1.8.0_152
kemudianPATH
variabel juga harus berisi jalur di atas dan yang terpenting sebelum (jika ada) jalur lain jika JDK / JRE sudah disebutkan dalamPATH
variabel. Anda dapat memilih untuk menghapus versi lain jika tidak ada aplikasi lain yang menggunakan versi java yang berbeda.sumber
Jika Anda telah menginstal jdk8 dan jdk9, Anda harus memeriksa versi yang mana
di jalur dan tujuan JAVA_HOME.
Di log yang Anda posting, saya melihat bahwa JAVA_HOME mengarah ke JDK9.
ubah globel JAVA_HOME env var Anda ke target JDK8 atau Anda dapat mengubah JAVA_HOME di PowerShell sebelum Anda menggunakan Cordova CLI jika Anda ingin menggunakan jdk8 hanya untuk cordova:
sumber
jika Anda memiliki beberapa versi Java yang terinstal dan perlu mempertahankannya, Anda perlu memeriksa hal-hal berikut:
sumber
Saya menghadapi masalah yang sama dengan jdk1.8.0_201. Ini teratasi ketika saya membuat JAVA_HOME = C: \ Program Files \ Java \ jdk1.8.0_201 dan menambahkan "C: \ Program Files \ Java \ jdk1.8.0_201 \ bin" di variabel jalur
sumber
Saya memiliki (Open) JDK 8 dan 11 diinstal pada Windows 10 dan saya memiliki masalah yang sama. Bagi saya yang berikut ini berhasil:
sumber
Ini pertanyaan lama, tetapi karena saya baru saja mengalami masalah yang sama, tetapi kesalahan memiliki sumber lain, berikut jawaban singkatnya.
Masalah terjadi di Windows (hanya) dan dengan Webstorm IDE 2019.2
Pada versi 2019.2 Webstorm memiliki masalah, karena secara internal menggunakan open jdk untuk variabel% JAVA_HOME%, bukan (dari os) jdk java yang ditargetkan.
Dalam kasus saya (ya sudah tua, ini adalah proyek cordova tua ...)
menjalankan
java -version
di Windows cmd.exe:tetapi mengeksekusi
java -version
di terminal Webstorms:Perbaikan datang dengan tambalan yang dirilis nanti (hari ini), versi 2019.2.1. Sekarang Webstorm menggunakan variabel os% JAVA_HOME% sebagaimana mestinya dan
java -version
hasilnya sama dalam kedua kasus.Semoga membantu seseorang!
sumber
Kesalahan terjadi saat jalur default ke java disetel ke versi selain Java 8 atau JDK 1.8. *
Untuk kasus saya, saya telah menginstal Java 11 setelah menginstal Java 8
Anda dapat menguji dengan menjalankan:
Untuk kasus saya, pengembaliannya:
Untuk memperbaikinya, kita perlu memastikan jalur java diarahkan ke binari Java 8 sebagai gantinya
Dengan asumsi Anda sudah menginstal Java 8 atau JDK 1.8. *:
%JAVA_HOME%\bin
atauC:\Program Files\Java\jdk1.8.0_251\bin
ditambahkan%JAVA_HOME%\bin
PATH yang mengarah ke JDK 1.8. *Jangan tambahkan ini jika Anda tidak memilikinya, cari entri PATH lain yang mungkin menimpa
%JAVA_HOME%\bin
%JAVA_HOME%\bin
%JAVA_HOME%\bin
PATH yang mengarah ke Java 8 sekarang akan diprioritaskan di atas entri PATH lainnya yang mengarah ke JDK 11Untuk kasus saya, itu kemudian dikembalikan:
Tetap!
sumber
sumber
Sepertinya Android SDK tidak mendukung Java 9. Downgrade ke 8 jika Anda tidak ingin kembali ke JDK 1.8 yang menurut saya konyol. JDK 8 berfungsi untuk saya tetapi pastikan untuk mengatur variabel lingkungan JAVA_HOME ke lokasi instalasi JDK Anda dengan benar.
sumber
Sesuai dokumentasi resmi Cordova, ia hanya mendukung JDK 1.8 tidak lebih hingga tanggal (April 2018) . Atau mungkin ada masalah dengan skrip deteksi versi dalam cordova.
Cordova: Memasang persyaratan
sumber
Saya baru saja mengganti nama folder JDK yang lebih lama dengan
_
, untuk berjaga-jaga jika saya membutuhkannya lebih lanjut, dan itu berhasil.sumber
Saya menggunakan windows dan memiliki dua jdk 1.8 dan 14 versi sesuatu ...
Menghadapi masalah yang sama dan setelah beberapa debugging temukan solusinya.
Dan itu terpecahkan
sumber
Versi Ubuntu / Debian Linux dari jawaban ini adalah menginstal openjdk 8 dan mengatur default melalui
update-alternatives
# install (open)jdk 8 sudo apt-get install -y openjdk-8-jdk # update java compiler and set to 1.8 update-alternatives --config javac # update java runtime (optional) update-alternatives --config java # Also set $JAVA_HOME and $PATH to your .bashrc (optional) echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64' >> ~/.bashrc echo 'export PATH="$PATH:$JAVA_HOME/bin' >> ~/.bashrc # load in current bash session source ~/.bashrc
sumber