Podczas biegu
sencha app build production
Otrzymuję następujący błąd:
Błąd: klucz rejestru „Software \ JavaSoft \ Java Runtime Environment” \ CurrentVersion ”
ma wartość „1,8”, ale wymagana jest wartość „1,7”. Błąd: nie można znaleźć pliku java.dll Błąd: nie można znaleźć środowiska wykonawczego Java SE.
java -version
, polecenie pokazuje:
java wersja „1.8.0_40” Java (TM) SE Runtime Environment (kompilacja 1.8.0_40-b26) Java HotSpot (TM) 64-bitowa maszyna wirtualna serwera (kompilacja 25.40-b25, tryb mieszany)
Nie mogę znaleźć miejsca, w którym ścieżka idzie źle. Dowolny pomysł?
----------------------- EDYTOWAĆ -------------------------- ----------------------
Uwaga : używam systemu Windows 7 (64-bitowego).
Próbowałem odinstalować cmd sencha touch i ponownie zainstalować. Ale wciąż ten sam błąd.
Odinstalowałem wszystkie instancje w wersji Java i ponownie zainstalowałem najnowszą, ale problem nadal występuje.
źródło
System32
rozwiązaniu problemu.W moim przypadku (Windows 7 64-bitowy) wykonałem tylko następujące czynności:
Następnie zamknąłem wszystkie otwarte konsole wiersza poleceń, ponownie je otworzyłem i uruchomiłem wersję java .
źródło
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
CurrentVersion
z „1,8” na „1,7”źródło
re: Użytkownicy systemu Windows
Nie. Nie usuwaj odwołania do środowiska Javapath ze zmiennej PATH.
Powodem, dla którego rejestr nie działał, jest to, że skrypt Oracle Javapath musi działać w sekwencji PATH przed katalogami JRE i JDK - posortuje bieżącą wersję:
umieść ten katalog na HEAD swojej
%PATH%
zmiennej:[lub gdziekolwiek jest na twoim pulpicie]
więc twoja PATH będzie wyglądać mniej więcej tak - na przykład moja
PATH=C:\ProgramData\Oracle\Java\javapath;<other path directories>;E:\Program Files\Java\jdk1.8.0_77\bin;E:\Program Files\Java\jre1.8.0_77\bin
Zobaczysz wtedy poprawną, aktualną wersję:
C:\>java -version java version "1.8.0_77" Java(TM) SE Runtime Environment (build 1.8.0_77-b03) Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
źródło
Moje doświadczenie:
Używam systemu Windows 8.1 i obniżyłem wersję JAVA z 1.8 do 1.7 i otrzymuję ten sam błąd.
Błąd: klucz rejestru „Software \ JavaSoft \ Ja ma wartość„ 1,7 ”, ale wymagana jest wartość„ 1,8 ”.
I zostały usunięte java.exe , javaw.exe i javaws.ex e z katalogu C: \ Windows \ System32 folderu i pracował dla mnie.
źródło
Miałem ten sam problem. Prostym rozwiązaniem, które się sprawdziło, jest zmiana kolejności wpisów w
PATH
forJRE/JDK
. Ten problem zaczął się pojawiać po zainstalowaniu,JRE 8
którego instalacja umieściła niektóre pliki wykonywalne wSystem32 or SysWOW64
katalogach, te pliki wykonywalne są zepsute. Aby rozwiązać problem:Utwórz zmienną środowiskową wskazującą na katalog główny JDK jako
JAVA_HOME
.set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_45
Umieść wpis
%JAVA_HOME%\bin
na początku w zmiennej środowiskowej PATH. Dołączanie istniejącej wartościPATH
. Na przykład:path=C:\Program Files\Java\jdk1.8.0_45\bin;%path%
źródło
Nie usunąłem żadnego z plików java.exe, ale zmieniłem kolejność mojej zmiennej System - „path” - tak, aby jako pierwszy wpis odzwierciedlał% JAVA_HOME% \ bin. To załatwiło sprawę.
źródło
Błąd jest wyraźny ...
... próbujesz użyć
java.exe
pliku wykonywalnego 1.7, gdy klucz rejestruHKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
>CurrentVersion
ma wartość 1.8.Powtarzającym się tematem proponowanych rozwiązań jest to, że błąd jest błędem konfiguracji . Błąd można rozwiązać na różne sposoby (np. Rekonfiguracja środowiska użytkownika lub usunięcie plików wykonywalnych java za pomocą kciuków i mieć nadzieję, że istnieje inna
java.exe
funkcja awaryjna w użytkownikach%PATH%
i żejava.exe
jest to właściwy plik wykonywalny).poprawne rozwiązanie zależy od tego, co starasz się osiągnąć „? Starasz się obniżyć z JDK-8 do JDK-7 są próby uaktualnienia do jdk-8 ...”
Kroki reprodukcji
zaktualizuj
%PATH%
zmienną środowiskową użytkowników , usuńC:\Program Files (x86)\Common Files\Oracle\Java\javapath
w nowym wierszu polecenia
java -version
Rozwiązania)
Rozwiązanie OP https://stackoverflow.com/a/29769311/1423507 to "trzymanie kciuki i nadzieja, że istnieje rozwiązanie awaryjne
java.exe
w użytkownikach%PATH%
i że awaryjny plik wykonywalny jest poprawny" podejście do błędu. Biorąc pod uwagę etapy reprodukcji, usuwaniajava.exe
,javaw.exe
orazjavaws.exe
pliki wykonywalne zC:\Windows\System32
(tylko w moim przypadku) spowoduje nie mający żadnegojava.exe
obecny w użytkownikach%PATH%
prowadzących do błędu'java' is not recognized as an internal or external command, operable program or batch file.
, który nie jest tak dużo roztworu.odpowiedzi https://stackoverflow.com/a/35775493/1423507 i https://stackoverflow.com/a/36516620/1423507 działają, ale wracasz do używania wersji
java.exe
1.7 (np. zaktualizuj wartośćCurrentVersion
klucza rejestru, aby pasowała dojava.exe
wersji znalezionej w użytkowników%PATH%
).upewnij się, że
java.exe
1.8 jest pierwszą znalezioną w użytkownikach%PATH%
(nie ma znaczenia, jak to zrobisz), tj .:%PATH%
aby uwzględnić jakoC:\Program Files (x86)\Common Files\Oracle\Java\javapath
pierwsi (upewnij się, że pliki wykonywalne w tym katalogu są poprawne)%PATH%
aby najpierw uwzględnili bezwzględną ścieżkę do plików binarnych Java (set PATH="C:\Program Files\Java\jre1.8.0_191\bin;%PATH%"
)%PATH%
z nich (set JAVA_HOME="C:\Program Files\Java"
;set JRE_HOME=%JAVA_HOME%\jre1.8.0_191
;set PATH=%JRE_HOME%\bin;%PATH%
)źródło
Wystąpił ten błąd w niektórych usługach Windows z uruchomioną Javą. W końcu na moim komputerze próbowałem odinstalować inne wersje javy.
Zostawiłem tylko 1.8 i teraz wszystko działa.
źródło
odpowiedź aribeiro zadziałała dla mnie - z niewielkimi zmianami
źródło
Jak dla mnie na win7 64bit.
Skopiuj plik java.exe javaw.exe javaws.exe do folderu
C:\Program Files\Java\jre1.8.0_91\bin to the C:\Windows\System32.
a następnie otwórz cmd, wpisz java -version.
C:\Users\HEcom>java -version java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
Przed powyższym upewnij się, że CurrentVersion rejestru to 1.8
W menu START wpisz „regedit”, aby otworzyć edytor rejestru
źródło
Moje rozwiązanie tego problemu pojawiło się po przeczytaniu i wypróbowaniu wszystkich powyższych.
W moim przypadku próbowałem obniżyć wersję Java, aby korzystać z wydruków w formacie
Apache ActiveMQ
. Po odinstalowaniu wszystkich wersji Javy i wyczyszczeniu rejestru pojawiał się ten sam błądW moim przypadku musiałem udać się do zmiennych środowiskowych, edytować ścieżkę, otwórz lokalizację javapath (
C:\ProgramData\Oracle\Java\javapath
) i tam było - trzy pliki (java.exe
,javaw.exe
,javaws.exe
), które pozostały z wersji JRE8.Po ustaleniu tego faktu po prostu przełączyłem je na te same pliki z
C:\Windows\SysWOW64
katalogu (te były zJRE7
wersji) i wszystko działało idealnie.źródło
Po ostatniej automatycznej aktualizacji Java nie mogłem uruchomić Javy z wiersza poleceń.
Moja zmienna ścieżki miała „C: \ ProgramData \ Oracle \ Java \ javapath;”
Nie mogłem wejść cd do 'C: \ ProgramData \ Oracle \ Java \ javapath;' z okna wiersza polecenia, ponieważ nie istniało.
Usunąłem C: \ ProgramData \ Oracle \ Java \ javapath; ' ze zmiennej ścieżki i zastąpiono ją „C: \ Program Files \ Java \ jre1.8.0_141 \ bin;”
źródło
Musisz zdefiniować folder jdk w zmiennej JAVA_HOME, dodać% JAVA_HOME% do ścieżki zmiennej
Usuń lub zmień nazwę plików java.exe, javaw.exe i javaws w folderze system32
wykonaj cmd.exe, wersja-java przyjmuje teraz nową wersję zdefiniowaną w JAVA_HOME.
źródło
Oprócz odpowiedzi Ananda Gupty upewnij się, że nie jest używana żadna inna Java oprócz tej, której potrzebujesz. Uruchom
which java
(where java
w systemie Windows) i zobacz, które pliki wykonywalne Java są używane. Po prostu usuń te, których nie chcesz używać, a jeśli nie ma tego, którego potrzebujesz, dodaj go do PATH.źródło
Najpierw powinieneś mieć Javę 7. Jeśli nie masz, zainstaluj ją najpierw (nie wiem, czego używasz, Linux, Mac, yum, apt, homebrew, powinieneś sam się przekonać).
Jeśli masz już Javę 7, uruchom:
Wyjście powinno być coś takiego:
/usr/lib/jvm/java-8-oracle
. W pobliżu tego katalogu powinieneś zobaczyćjava-7
katalog. Po znalezieniu biegnijexport JAVA_HOME=${java-7-dir}
Zmień za
{java-7-dir}
pomocą ścieżki do katalogu. Następnie możesz uruchomić polecenie.To jest tylko tymczasowe rozwiązanie. Aby zmienić to na stałe, wprowadź powyższe polecenie do pliku
~/.bashrc
pliku.EDYCJA: Jeśli używasz systemu Windows , zmień zmienną środowiskową
JAVA_HOME
na ścieżkę katalogu instalacyjnego oprogramowania Java 7.źródło
Mój krótki wkład, za podzielenie się tym samym problemem z wersją 64-bitową Talend Open Studio.
Aby rozwiązać ten problem, usuń wszystkie pliki java.exe, javaw.exe i javaws.exe na c: \ ProgramData \ Oracle \ Java \ javapath \
i TOS zaczynają się poprawnie od wersji 64-bitowej!
źródło
Usuń go ze ścieżki systemowej:
I rozwiąże problem z aktualizacją wersji Java z 1.7 do 1.8
źródło
Gdzieś istnieje inny plik java.exe z wersji jre 1.8, który znajduje się w „ścieżce”, należy go znaleźć i usunąć, jeśli jest to możliwe. może znajdować się w tempdata użytkownika dla aplikacji, które wymagają jre.
źródło
Zmień zmienną systemową JAVA_BIN i JAVA_HOME, a następnie zrestartuj system lub zaloguj się ponownie. Masz ten błąd, ponieważ nadal jest to ścieżka jdk1.7. W systemie Windows wygląda to tak:
źródło
Wystarczy zainstalować środowisko wykonawcze Java SE JRE 7!
Teraz widzisz „java 7” i „java 8” w „Programy i funkcje” w „Panelu sterowania”
U mnie to zadziałało.
źródło
Jednym z możliwych rozwiązań tego problemu jest dodanie do folderu Sencha CMD pliku bat, jak sugerowano w tym wątku Sencha Cmd 5 + Java 8 Error .
Partia będzie miała nazwę „sencha.bat” z tym kodem:
@echo off set JAVA_HOME=<YOUR JDK 7 HOME> set PATH=%JAVA_HOME%\bin;%PATH% set SENCHA_HOME=%~dp0 java -jar "%SENCHA_HOME%\sencha.jar" %*
Umieść go w folderze sencha, w moim przypadku jest
C:\Users\<YOUR USER>\bin\Sencha\Architect\Cmd\6.2.0.103
Następnym krokiem jest zmiana zmiennej środowiska PATHEXT. Zmień zmienne użytkownika, aby mieć jak najmniejszy wpływ.
Zmieniam się z
do
Chodzi o to, aby system Windows uruchamiał najpierw pliki .bat niż pliki .exe. Jest to ważne, ponieważ w folderze sencha znajduje się już plik „sencha.exe”. Jeśli w wierszu poleceń wpiszesz „sencha”, zamiast „sencha.bat” uruchomi się „sencha.exe”.
To było jedyne rozwiązanie, które zadziałało, ponieważ jestem bardzo ograniczony, jeśli chodzi o uprawnienia.
źródło
Mój system: - Windows 8.1
Środowiska Java
Niedawno zainstalowałem Oracle 11g XE i otrzymałem wspomniany komunikat o błędzie po uzyskaniu dostępu do polecenia „java” w wierszu polecenia.
Sprawdziłem moje zmienne środowiskowe, sprawdziłem sekwencję (jak wspomniano w poprzednich odpowiedziach) i wykryłem, że moja zmienna systemowa PATH miała następujący wpis jako pierwszy wpis:
C: \ OracleDatabase \ oraclexe \ app \ oracle \ product \ 11.2.0 \ server \ bin ;
Zmieniłem sekwencję i zdefiniowałem ścieżkę JDK jako pierwszy wpis:
Zreplikowałem tę samą zmianę w zmiennej użytkownika: ścieżka
Po zakończeniu powyższej czynności zrestartowałem wiersz poleceń i wykonałem polecenie java -version, a problem zniknął. Wyświetlał Java 8 jako aktualną wersję.
źródło
Miałem podobny problem. Przeniesienie ścieżki JDK i JRE na początek zmiennej ścieżki rozwiązało problem (który ma pierwszeństwo przed tym, co jest obecne w System32)
Na przykład tutaj jest moje:
źródło
Odinstaluj Java 8 z listy programów. Wykonując poniższe kroki: -
Na pulpicie kliknij menu Start (lub piłkę Start) w lewym dolnym rogu ekranu. Przejdź do Panelu sterowania. Kliknij Programy i funkcje. Wybierz Java8 i kliknij Odinstaluj
źródło
Zabij wszystkie aplikacje związane z Javą w menedżerze zadań, a następnie usuń Java.exe, Javaw.exe i Jawaws.exe z C: \ windows \ System32
To powinno rozwiązać twój problem ... :)
źródło
po prostu to zrobiłem i zadziałało
HKLM> OPROGRAMOWANIE> JavaSoft> Java Runtime Environment
po prostu ręcznie zmień aktualną wersję na 1.7.
lol ... ale zadziałało!
źródło