Während dem Rennen
sencha app build production
Ich erhalte die folgende Fehlermeldung:
Fehler: Registrierungsschlüssel 'Software \ JavaSoft \ Java Runtime Environment' \ CurrentVersion '
hat den Wert '1.8', aber '1.7' ist erforderlich. Fehler: java.dll konnte nicht gefunden werden Fehler: Java SE Runtime Environment konnte nicht gefunden werden.
java -version
Der Befehl zeigt Folgendes an:
Java-Version "1.8.0_40" Java (TM) SE-Laufzeitumgebung (Build 1.8.0_40-b26) Java HotSpot (TM) 64-Bit-Server-VM (Build 25.40-b25, gemischter Modus)
Nicht in der Lage zu finden, wo der Weg falsch läuft. Irgendeine Idee?
----------------------- BEARBEITEN -------------------------- ----------------------
Hinweis : Ich verwende Windows 7 (64 Bit).
Ich habe versucht, den Sencha Touch Cmd zu deinstallieren und neu zu installieren. Aber immer noch der gleiche Fehler.
Ich habe alle Instanzen der Java-Version deinstalliert und die neueste neu installiert. Das Problem besteht weiterhin.
quelle
System32
wird das Problem behoben.In meinem Fall (Windows 7 64-Bit) habe ich gerade Folgendes getan:
Danach habe ich alle offenen Befehlszeilen-Konsolen geschlossen, sie erneut geöffnet und Java-Version ausgeführt .
quelle
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
CurrentVersion
von "1,8" auf "1,7".quelle
Betreff: Windows-Benutzer
Nein. Entfernen Sie die Javapath-Umgebungsreferenz nicht aus Ihrer PATH-Variablen.
Der Grund, warum die Registrierung nicht funktioniert hat, ist, dass das Oracle Javapath-Skript in der PATH-Sequenz vor den JRE- und JDK-Verzeichnissen ausgeführt werden muss. Dadurch wird die aktuelle Version sortiert:
Fügen Sie dieses Verzeichnis in den HEAD Ihrer
%PATH%
Variablen ein:[oder wo immer es auf Ihrem Desktop ist]
Ihr PFAD wird also ungefähr so aussehen - meiner zum Beispiel
Sie sehen dann die richtige, aktuelle Version:
quelle
Meine Erfahrung:
Ich verwende Windows 8.1 und habe die JAVA-Version von 1.8 auf 1.7 heruntergestuft. Ich habe den gleichen Fehler erhalten.
Fehler: Der Registrierungsschlüssel 'Software \ JavaSoft \ Ja hat den Wert' 1.7 ', aber' 1.8 'ist erforderlich.
Ich habe java.exe , javaw.exe und javaws.ex e aus dem Ordner C: \ Windows \ System32 gelöscht und es hat bei mir funktioniert.
quelle
Ich hatte das gleiche Problem. Eine einfache Lösung, die für mich funktioniert hat, besteht darin, die Einträge im
PATH
for neu anzuordnenJRE/JDK
. Dieses Problem trat nach der Installation auf,JRE 8
deren Installation einige ausführbare Dateien inSystem32 or SysWOW64
Verzeichnisse gestellt hat. Diese ausführbaren Dateien sind durcheinander. So beheben Sie das Problem:Erstellen Sie eine Umgebungsvariable, die auf JDK home as verweist
JAVA_HOME
.set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_45
Setzen Sie den Eintrag
%JAVA_HOME%\bin
beim Start in Ihre PATH-Umgebungsvariable. Anhängen des vorhandenen Werts vonPATH
. Beispielsweise:path=C:\Program Files\Java\jdk1.8.0_45\bin;%path%
quelle
Ich habe keine der Dateien java.exe gelöscht, aber die Reihenfolge meines Systems - "Pfad" -Variable - so geändert, dass% JAVA_HOME% \ bin als erster Eintrag angezeigt wird. Das hat funktioniert.
quelle
Der Fehler ist explizit ...
... Sie versuchen, die
java.exe
ausführbare Datei 1.7 zu verwenden, während der RegistrierungsschlüsselHKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
>CurrentVersion
den Wert 1.8 hat.Das wiederkehrende Thema der vorgeschlagenen Lösungen ist, dass der Fehler ein Konfigurationsfehler ist . Der Fehler kann auf verschiedene Arten behoben werden (z. B. Neukonfiguration der Benutzerumgebung oder Entfernen von ausführbaren Java-Dateien mit Daumen drücken und hoffen, dass
java.exe
bei den Benutzern ein weiterer Fallback vorliegt%PATH%
und der Fallbackjava.exe
die richtige ausführbare Datei ist).Die richtige Lösung hängt davon ab, was Sie erreichen möchten: "Versuchen Sie, ein Downgrade von JDK-8 auf JDK-7 durchzuführen? Versuchen Sie, ein Upgrade auf JDK-8 durchzuführen? ..."
Reproduktionsschritte
Aktualisieren Sie die
%PATH%
Umgebungsvariable des Benutzers und entfernen Sie sieC:\Program Files (x86)\Common Files\Oracle\Java\javapath
in einer neuen Eingabeaufforderung
java -version
Lösung (en)
Die Lösung von OP https://stackoverflow.com/a/29769311/1423507 ist ein "Daumen drücken und hoffen, dass es einen Fallback
java.exe
bei den Benutzern gibt%PATH%
und dass die ausführbare Fallback-Datei korrekt ist" -Ansatz für den Fehler. In Anbetracht der Reproduktionsschritte Entfernen derjava.exe
,javaw.exe
undjavaws.exe
ausführbare Dateien ausC:\Windows\System32
(nur in meinem Fall) führt zu nichts mehr mit ,java.exe
die in den Benutzer%PATH%
in dem Fehler resultierende ,'java' is not recognized as an internal or external command, operable program or batch file.
die nicht so viel von einer Lösung ist.Die Antworten https://stackoverflow.com/a/35775493/1423507 und https://stackoverflow.com/a/36516620/1423507 funktionieren jedoch, wenn Sie wieder
java.exe
1.7 verwenden (z. B. aktualisieren Sie denCurrentVersion
Wert des Registrierungsschlüssels, um ihn an die injava.exe
gefundene Version anzupassen die Benutzer%PATH%
).Stellen Sie sicher, dass
java.exe
1.8 das erste ist, das in den Benutzern gefunden wird%PATH%
(wie Sie das tun, ist irrelevant), dh:%PATH%
, um sieC:\Program Files (x86)\Common Files\Oracle\Java\javapath
zuerst einzuschließen (stellen Sie sicher, dass die ausführbaren Dateien in diesem Verzeichnis korrekt sind).%PATH%
, um zuerst den absoluten Pfad Ihrer Java-Binärdateien anzugeben (set PATH="C:\Program Files\Java\jre1.8.0_191\bin;%PATH%"
)%PATH%
mit ihnen (set JAVA_HOME="C:\Program Files\Java"
;set JRE_HOME=%JAVA_HOME%\jre1.8.0_191
;set PATH=%JRE_HOME%\bin;%PATH%
)quelle
Ich hatte diesen Fehler bei einigen Windows-Diensten, auf denen Java ausgeführt wird. Am Ende habe ich auf meinem Computer versucht, die anderen Versionen von Java zu deinstallieren.
Ich habe nur 1.8 verlassen und jetzt funktioniert alles.
quelle
Die Antwort von aribeiro hat bei mir funktioniert - mit geringfügigen Änderungen
quelle
Was mich auf win7 64bit betrifft.
Kopieren Sie die Datei java.exe javaw.exe javaws.exe in den Ordner
C:\Program Files\Java\jre1.8.0_91\bin to the C:\Windows\System32.
und öffnen Sie dann cmd, geben Sie java -version ein.
Stellen Sie zuvor sicher, dass die aktuelle Version der Registrierung 1.8 ist
Geben Sie im Menü START "regedit" ein, um den Registrierungseditor zu öffnen
quelle
Meine Lösung für dieses Problem kam, nachdem ich alle oben genannten Punkte gelesen und ausprobiert hatte.
In meinem Fall habe ich versucht, Java herunterzustufen, um Ausdrucke in zu verwenden
Apache ActiveMQ
. Nach der Deinstallation aller Java-Versionen und dem Bereinigen der Registrierung wurde der gleiche Fehler angezeigtIn meinem Fall musste ich Umgebungsvariablen bearbeitet Weg gehen, öffnen Sie die javapath Lage (
C:\ProgramData\Oracle\Java\javapath
) und da war es - drei Dateien (java.exe
,javaw.exe
,javaws.exe
) , die von der JRE8 Version geblieben.Nachdem ich diese Tatsache festgestellt hatte, wechselte ich sie einfach mit denselben Dateien aus dem
C:\Windows\SysWOW64
Verzeichnis (diese stammten aus derJRE7
Version) und alles funktionierte perfekt.quelle
Nach dem letzten automatischen Java-Update konnte ich Java nicht über die Eingabeaufforderung ausführen.
Meine Pfadvariable hatte 'C: \ ProgramData \ Oracle \ Java \ javapath;'
Ich konnte nicht in 'C: \ ProgramData \ Oracle \ Java \ javapath;' über das Eingabeaufforderungsfenster, da es nicht vorhanden war.
Ich habe C: \ ProgramData \ Oracle \ Java \ javapath entfernt. ' aus der Pfadvariablen und ersetzte sie durch 'C: \ Programme \ Java \ jre1.8.0_141 \ bin;'
quelle
Sie müssen Ihren JDK-Ordner in der Variablen JAVA_HOME definieren und% JAVA_HOME% zu Ihrem Variablenpfad hinzufügen
Löschen oder ändern Sie den Namen Ihrer java.exe, javaw.exe und javaws in Ihrem Ordner system32
Führen Sie cmd.exe aus. Java -version verwendet jetzt die neue Version, die Sie in JAVA_HOME definiert haben.
quelle
Stellen Sie zusätzlich zu Anand Guptas Antwort sicher, dass kein anderes Java als das von Ihnen benötigte verwendet wird. Führen Sie
which java
(where java
für Windows) aus und sehen Sie, welche ausführbaren Java-Dateien verwendet werden. Löschen Sie einfach diejenigen, die Sie nicht verwenden möchten, und fügen Sie sie PATH hinzu, wenn die benötigte nicht vorhanden ist.quelle
Zuerst sollten Sie Java 7 haben. Wenn Sie es nicht haben, installieren Sie es zuerst (Ich weiß nicht, was Sie verwenden, Linux, Mac, yum, apt, homebrew, Sie sollten es selbst herausfinden.)
Wenn Sie bereits Java 7 haben, führen Sie Folgendes aus:
Die Ausgabe sollte ungefähr so aussehen :
/usr/lib/jvm/java-8-oracle
. In der Nähe dieses Verzeichnisses sollte das Verzeichnis angezeigt werdenjava-7
. Nachdem Sie es gefunden haben, laufen SieÄndern Sie
{java-7-dir}
mit Ihrem Verzeichnispfad. Dann können Sie Ihren Befehl ausführen.Dies ist nur eine vorübergehende Lösung. Um es dauerhaft zu ändern, fügen Sie den obigen Befehl in Ihre
~/.bashrc
Datei ein.BEARBEITEN: Wenn Sie Windows verwenden , ändern Sie die Umgebungsvariable von
JAVA_HOME
in den Pfad Ihres Java 7-Installationsverzeichnisses.quelle
Mein kurzer Beitrag zum Teilen des gleichen Problems mit der 64-Bit-Version von Talend Open Studio.
Um dies zu beheben, entfernen Sie alle Dateien java.exe, javaw.exe und javaws.exe unter c: \ ProgramData \ Oracle \ Java \ javapath \
und AGB beginnen mit der 64-Bit-Version korrekt!
quelle
Entfernen Sie es aus dem Systempfad:
Das Problem beim Aktualisieren der Java-Version von 1.7 auf 1.8 wird behoben
quelle
Es gibt irgendwo eine andere java.exe aus jre Version 1.8, die sich im "Pfad" befindet. Sie sollten sie finden und löschen, wenn dies möglich ist. Es kann in Benutzertempdaten für Anwendungen enthalten sein, die jre benötigen.
quelle
Bitte ändern Sie die Systemvariablen JAVA_BIN und JAVA_HOME und starten Sie das System neu oder melden Sie sich erneut an. Sie haben diesen Fehler, weil es immer noch jdk1.7 Pfad ist. Unter Windows ist es so:
quelle
Installieren Sie einfach Java SE Runtime Environment JRE 7!
Jetzt sehen Sie "Java 7" und "Java 8" unter "Programme und Funktionen" in der "Systemsteuerung".
Es hat bei mir funktioniert.
quelle
Eine mögliche Lösung für dieses Problem besteht darin, im Sencha CMD-Ordner eine Bat-Datei hinzuzufügen, wie in diesem Thread vorgeschlagen. Sencha Cmd 5 + Java 8-Fehler .
Der Stapel hat den Namen "sencha.bat" mit diesem Code:
Legen Sie es in den Sencha-Ordner, in meinem Fall ist
Der folgende Schritt besteht darin, die PATHEXT-Umgebungsvariable zu ändern. Ändern Sie die Benutzervariablen, um die geringstmögliche Auswirkung zu erzielen.
Ich wechsle von
zu
Die Idee ist, Windows zuerst .bat-Dateien als .exe-Dateien ausführen zu lassen. Dies ist wichtig, da sich im sencha-Ordner bereits eine "sencha.exe" -Datei befindet. Und wenn Sie in der Befehlszeile "sencha" eingeben, wird "sencha.exe" anstelle von "sencha.bat" ausgeführt.
Dies war die einzige Lösung, die funktioniert hat, da ich in Bezug auf Berechtigungen sehr eingeschränkt bin.
quelle
Mein System: - Windows 8.1
Java-Umgebungen
Ich habe kürzlich Oracle 11g XE installiert und beim Zugriff auf den Befehl "java" an der Eingabeaufforderung die erwähnte Fehlermeldung erhalten.
Ich habe meine Umgebungsvariablen überprüft, die Reihenfolge überprüft (wie in früheren Antworten erwähnt) und festgestellt, dass meine System-PATH-Variable als ersten Eintrag den folgenden Eintrag hatte:
C: \ OracleDatabase \ oraclexe \ app \ oracle \ product \ 11.2.0 \ server \ bin ;;
Ich habe die Reihenfolge geändert und den JDK-Pfad als ersten Eintrag definiert:
Ich habe dieselbe Änderung in Benutzervariable: Pfad repliziert
Nachdem ich die obige Aktivität beendet hatte, startete ich die Eingabeaufforderung neu und führte den Befehl java -version aus, und das Problem war verschwunden. Es wurde Java 8 als aktuelle Version angezeigt.
quelle
Ich hatte das ähnliche Problem. Das Verschieben des JDK- und JRE-Pfads an den Anfang der Pfadvariablen löste das Problem (das Vorrang vor dem unter System32 vorhandenen hat).
Zum Beispiel hier ist meins:
quelle
Deinstallieren Sie Java 8 aus Ihrer Programmliste. Durch Befolgen der folgenden Schritte: -
Klicken Sie auf Ihrem Desktop unten links auf dem Bildschirm auf das Startmenü (oder den Startball). Gehen Sie zur Systemsteuerung. Klicken Sie auf Programme und Funktionen. Wählen Sie Java8 und klicken Sie auf Deinstallieren
quelle
Beenden Sie alle Anwendungen im Zusammenhang mit Java im Task-Manager und löschen Sie dann Java.exe, Javaw.exe und Jawaws.exe aus C: \ windows \ System32
Dies sollte dein Problem lösen ... :)
quelle
habe das einfach gemacht und es hat funktioniert
HKLM> SOFTWARE> JavaSoft> Java-Laufzeitumgebung
Ändern Sie die aktuelle Version einfach manuell auf 1.7.
lol ... aber es hat funktioniert!
quelle