Soru Cordova: JDK 1.8 veya daha fazlası için Gereksinim denetimi başarısız oldu


Windows 7 işletim sisteminde Cordova 6.4.0 kullanıyorum ama android sürümü oluşturmaya çalıştıktan sonra bu hatayı alıyorum:

Issue description

Java Home değişkeni JDK yoluna doğru şekilde yerleştirilmiştir, ancak neden bu sorunu alıyorum bilmiyorum. Herhangi bir öneriniz lütfen?


44
2017-11-16 09:23


Menşei


Tamam. Aynı sorunu yaşadım, ancak diğer adı altında gizlendiği için 1.8 sürümünü indiremedim. Onun 8u152. Birkaç saat sonra burada buldum: oracle.com/technetwork/java/javase/downloads/... - user2367101


Cevaplar:


Sanırım sorunun çözümünü buldum. Aynı meseleye bakan biri olması durumunda cevabı ben göndereceğim.

1.8 dahil olmak üzere önceki tüm JDK'ları kaldırın JDK 1.8 yükleyin


36
2017-11-16 10:37



Bunu yapmak için hangi komutları kullandınız? - Urbycoz
@Urbycoz sadece gitmeniz gerekiyor Add or Remove Programs/Program Features içinde Windows OS. Ardından, önceki Java sürümlerini kaldırın. sahiptim version 7 ayrıca yüklü ve sonra uninstalling o, cordova run android çalıştı. İyi şanslar. - Akash
Ama bu ne demek? Farklı JDK'lar yüklüyse cordova JDK'yı nasıl seçer? Sadece bir JDK'nız olabilir (ör., İnşa makinesi)? - Bruno Ranschaert
Corow'un JDK'nızın yolunu bulabilmesi için hala değişken değişkenleri ayarlamanız gerekiyor superuser.com/questions/949560/... - Yvonne Aburrow
@MadNeox diğer sürümü kaldırmanın çözümü değil sadece bir çözümdür - Gandhi


Ne çalıştı, jdk 9'u kaldırıp jkd 8.x'i yeniden kuruyordu

Yüklemek için Mac’te terminale gidin ve şu adımları izleyin:

cd /Library/Java/JavaVirtualMachines

sudo rm -rf jdk-9.0.1.jdk

Daha sonra jdk 8.x dosyasını .dmg paketini Oracle'dan indirerek yükleyin.


18
2018-01-07 19:58



Teşekkürler! Bu da benim için MacOS'ta bu sorunu çözdü. Onun gerektirdiği "JDK 1.8 veya daha büyük" değil, sadece JDK 1.8 görünür. - Dent Arthur Dent
Burada: oracle.com/technetwork/java/javase/downloads/... - vr_driver


Sdk'nin daha yüksek bir sürümünü kaldırmanız gerekmez. sadece jdk1.8.0_161'i yükleyin veya zaten yüklüyse yapmayın.

Şimdi sadece JAVA_HOME Aşağıdaki resimde gösterildiği gibi USER değişkeni (sistem değişkeni değil).

enter image description here

Bu şekilde daha yüksek sürümü kaldırmanız gerekmez ve sorun çözülür.


15
2018-02-01 12:08



Komutlarınızı tekrar çalıştırmaya çalışmadan önce terminali / IDE'yi kapatmayı unutmayın. - Daniel
@Daniel evet ofcourse! - Rashmin Javiya


JDK'nın eski sürümlerini kaldırmak işe yarayacaktı. Ama sanırım bir çözüm olabilir. Aynı sorunu yaşadım ve hem JDK'nın yeni sürümünün hem de eski sürüm JDK yolunun söz konusu olduğunu belirttim. 'path'çevresel değişken.

Eski sürüm JDK yolunun kaldırılması 'path'Çevresel değişken benim için hile yaptı. Umarım birisine de yardım eder.


14
2017-12-15 10:09



ortam değişkenleri ayarlıyorsanız, bu yararlı olabilir superuser.com/questions/949560/... - Yvonne Aburrow
Evet, bununla derleme komutunu çalıştırabilirim, ancak yine de çalıştırma komutunu 'iyonik cordova android çalıştır' ile uğraşırken hata mesajı INSTALL FAILED UPDATE INCOMPATIBLE. - supriya chauhan
@supriyachauhan, tekrar tüm parçaları yeniden yüklemeyi deneyebilirsiniz. Else, sorunu daraltmak için ayrıntılı detaylar vermeniz gerekebilir. - Gandhi


JAVA_HOME 1.8'e işaret ederken, yol çevresel değişkeni java 1.7'ye işaret ettiğimi anladım, bu yüzden yol değişkeni 1.8 olarak düzenledim ve iyiydim.


8
2018-05-02 14:04





Benim durumumda JAVA_HOME için işaret ediyordu C: \ Program Dosyaları (x86) \ Java \ jdk1.7.0_55

yazdığımda java nerede cmd olarak java.exe yolu ile birlikte C: \ Program Files (x86) \ Java \ jdk1.7.0_55 çıktı, ortam değişkenlerinden JAVA_HOME değişkenini değiştirdim C: \ Program Dosyaları \ Java \ jdk1.8.0_20 & o çalıştı, yani 2 jdk örnekleri vardı & cordova v1.8 ihtiyacı var.


6
2018-01-14 05:04



Yol değişkeninizin nereye gittiğini kontrol edin. JAVA_HOME'u 1.8'e işaret ettim ama Yolda farklı bir versiyona işaret ediyordu. İkisini hizaladıktan sonra iyi çalıştı! - ahb


Linux'ta (Debian / Ubuntu) bu, Java 1.8 SDK'yı seçerek çözülebilir.

sudo update-alternatives --config javac

Değiştirme JAVA_HOME env değişkenin doğrudan herhangi bir etkisi yoktur.

EDIT: yorumlara cevap vermek: Bu muhtemelen paket yöneticisi aracılığıyla yeni Debian (ve görünüşte Ubuntu) Java kurulumları kullanmayın gerçeği ile ilgisi vardır JAVA_HOME JRE'nin yerini belirlemek için çevre değişkeni. Görmek bu ve bu gönderi daha fazla bilgi için.


6
2017-09-06 09:26



Benim günümü yaptın. Son birkaç gün içinde her şeyi denedim. Çok teşekkürler. Ama neden sadece bu işe yarıyor? Ayar değişkeninin neden bir etkisi olmaz? - my-
Ubuntu'da da benim için çalıştım. java Ama değil javac! Şimdi Java 9'u kaldırmaya gerek yok :) - hughjdavey
Burada aynı not. olmasına rağmen JAVA_HOME sadece sistem varsayılan memnun Cordova güncelleme, sağ 1.8 JDK işaret ediyordu. - myoan
Sudo güncelleme-alternatives --config javac yaparken Bağlantı grubu javac'ta (/ usr / bin / javac sağlama) sadece bir alternatif var: / usr / lib / jvm / java-11-openjdk-amd64 / bin / javac Yapılandırılacak bir şey yok . java-8-openjdk'e geri dönmem gerekiyor mu? - Taieb
Neden bu ubuntu bir çözümdür. Aynen Myoan'ın dediği gibi, sistem varsayılanını güncellemenin neden Cordova'yı tatmin ettiğini? - Kevin RED


Bu hata mesajı, kullanıcıyı aşağıdaki gibi başarı ekranı ile karıştırıyor.cordova build success

Hata mesajı, kullanıcı JAVA_HOME yapılandırması ile yapı hatası düzeltmeyi dener. Ama asıl sorun sadece JAVA_HOME'da değil.

Bu sorunu JAVA_HOME ve "sistem değişkeni" içindeki doğru yapılandırma ile düzeltirim. enter image description here

Umut, sorunu düzeltmeye yardımcı olabilir, ancak JDK'yı yeniden yüklemez.


2
2017-12-28 02:59



bu tam çözüm - Pandiri Deepak


MadNeox tarafından yayınlanan cevap doğru. Benzer bir sorunla karşı karşıyaydım Ben jdk 9 yanı sıra 1.8 sürümü vardı

Önce jdk 9'u tutarak ve 1.8'i kaldırarak denedim. Bir hata görüntülemesi gerekiyor. Gereksinimler kontrolü başarısız oldu

Daha sonra jdk9'u kaldırıp yeniden yüklemeyi denedim 1. bu sefer javac-version'u çalıştırmak için başarısız oldu

Çevre değişkenleri ile bir süre oynadıktan sonra sonunda çözüm buldum.

Bu noktada sistemimde sadece jdk 1.8 Cordova sürümü var: 7.1.0

Açık Ortam Değişkenleri sekmesi -Kullanıcı değişkenleri yeni bir değişken oluşturur PATH Aşağıdaki değeri C: \ Program Files \ Java \ jdk1.8.0_151 \ bin (jdk’nizi nereye yüklediğinize bağlı olarak değişebilir)

bu probleminizi çözmeli Umarım yardımcı olur

Cevabın zaten verildiği halde, nerede yanlış gittiğimi anlamak için biraz zaman harcadım, bu yüzden bir başkasının zamanını kurtaracağını umarak bunu yayınlamaya karar verdim


2
2018-01-09 09:27





8'den büyük bir sürümü olabilir, ancak Cordova sadece JDK 1.8'i destekler. Bu bağlantıyı görüntüle Cordova Belgeleri

Aslında java'nın sürüm numarasını kontrol eden kod parçasına baktım. Aşağıdakileri arayın: module.exports.check_java içinde platformlar / robot / cordova / lib. 220 numaralı hat üzerinde. Java 10'un gelecekte destekleneceği ekip tarafından bırakılan bir regex ve yorum göreceksiniz.

Java 10 gibi java'nın en son sürümlerine karşı çalıştırıldığında mevcut normal ifade başarısız olur. Bunun nedeni, Java 8 veya 9'un aşağıdaki biçimde kaydedilmiş olmasıdır: 1. [8-9]. ** ama Java 10 kaydedildi 10 gibi. ** ve normal ifade, biçim 1'de bir versiyon arar. [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);

Çözümüm:

Yükleyici her sürümü belirli bir klasöre yüklediğinden, JRE veya JDK'nın geçerli sürümünüzü kaldırmanız gerekmez.

1- Java 8 sürümünü yükleyin Bu bağlantıyı takip et

2- Ortam değişkenlerinizi güncelleyin:

  • JDK'yı yüklediyseniz JAVA_HOME
  • JRE_HOME, JRE'yi yüklediyseniz

JRE 8 ve JDK 8'in kurulu olduğu yere işaret ederek.

// On my machine   
C:\Program Files\Java\jdk1.8.0_171 // JAVA_HOME
C:\Program Files\Java\jre1.8.0_171 // JRE_HOME

Yeni bir terminal oturumu açın ve başarısız olan komutu çalıştırın. Şimdi çalışmalı.

İşe yaramadı?

Başka nedenlerle başarısız olursa, olası hata ayıklama işlemi:

  • JAVA_HOME ve JRE_HOME değişkenlerinin Sistem değişkenleri olduğundan emin olun.
  • Kullanıcı Yolunuza eklendiklerinden emin olun Yolu değişkenler ekle

2
2018-06-01 13:19





Eğer hem jdk8 hem de jdk9 kuruluysa, wich versiyonunu kontrol etmelisiniz.

Yolda ve JAVA_HOME'un işaret ettiği yerler.

Gönderdiğiniz günlükte, JAVA_HOME'ın JDK9'a yönlendirdiğini görüyorum.

jdk8'yi yalnızca cordova için kullanmak istiyorsanız, globel JAVA_HOME env varınızı JDK8 hedefine dönüştürün veya eğer cordova CLI'yı kullanmadan önce powershell'de JAVA_HOME'ı değiştirebilirsiniz:

$env:JAVA_HOME="C:\Program Files\Java\jdk1.8.0_151"

**cordova build android**

1
2018-01-31 18:11