2015-01-05 12 views
5

Po zainstalowaniu Java 8 JDK na moim systemie Windows budować serwer, biegnę do następującego błędu podczas wykonywania polecenia sencha:Sencha Cmd 5 + Java 8 Błąd

C:\> sencha 

Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' 
has value '1.8', but '1.7' is required. 
Error: could not find java.dll 
Error: Could not find Java SE Runtime Environment. 

Sencha Cmd przewodnik zakłada, że ​​Java 8 nie jest jeszcze obsługiwany (jednak Sencha Cmd działa dobrze na mojej stacji roboczej Mac OS X z Java 8):

Sencha Cmd requires Java Runtime Environment version 1.7 to support all functionality...

mam jeszcze JDK 7 zainstalowany na serwerze. Czy istnieje sposób zmuszenia Sencha Cmd do użycia innej instalacji JDK? Zmiana nazw JAVA_HOME i PATH sysenvs nie działa, a edycja rejestru nie jest opcją.

UPDATE: Mam natknąć this question gdzie wielokrotny java.exe pliki spowodować ten sam błąd (i to jest na pewno możliwość tutaj) Jednakże maven, ant, grzywny kocur, Jenkins i zabił innych narzędzi Java działają. Widziałem ten błąd tylko w Sencha Cmd.

Odpowiedz

2

Spróbuj następujące obejścia korzystanie z najnowszej SenchaCMD pracy z JDK8:

  1. sprawdzić zmienną środowiskową PATH; zwłaszcza ścieżka (y) poprawna instalacja java
  2. otworzyć wiersz polecenia i przejdź do folderu Sencha-cmd
  3. używać SenchaCMD prostu wykonać "sencha.jar" -file z Java:

     
    java -jar sencha.jar 
    

Powinieneś zobaczyć wszystkie informacje o wersji dotyczące wykonanego narzędzia SenchaCMD.

Testowane z JDK 1.8.0u25 i SenchaCMD 5.1.0.26 na W7 prof x64

+0

to działa! świetne rozwiązanie –

7

Aby to nieco bardziej konkretne, ja po porady Bena i stworzył następującą sencha.bat plik w moim katalogu instalacyjnego:

@echo off 
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75 
set PATH=%JAVA_HOME%\bin;%PATH% 
set SENCHA_HOME=%~dp0 
java -jar "%SENCHA_HOME%\sencha.jar" %* 

i przemianowany na istniejący sencha.exe coś nieszkodliwe. Teraz mogę po prostu wpisać "sencha" na linii poleceń bez dodatkowych problemów. Oczywiście, jeśli masz inną, pomniejszą wersję Java 7, będziesz musiał edytować powyższy JAVA_HOME.

+0

Świetnie! Dzięki takiemu rozwiązaniu nie ma potrzeby modyfikowania zmiennych środowiskowych rejestru lub ścieżki, ani narzędzi Android do zmiany wersji lub czegoś innego. – Shivan

+0

To jest dobre rozwiązanie, wygląda na to, że sencha.exe nie respektuje lub w inny sposób resetuje zmienną środowiskową PATH. –

7

Zmienna środowiskowa "Ścieżka" odwzorowuje "C: \ ProgramData \ Oracle \ Java \ javapath", która zawiera 3 skróty do następujących plików z "C: \ Program Files \ Java \ jre1.8.0_xx \ bin":

  • java.exe
  • javaw.exe
  • javaws.exe

Ale te pliki są również obecne w 'C: \ Windows \ System32'; jeśli wywołasz "java" z tego katalogu, pojawi się ten sam błąd (błąd: klucz rejestru ...) Zastępując te 3 pliki w "C: \ Windows \ System32" przez te z "C: \ Program Files \" Java \ jre1.8.0_xx \ bin '; to rozwiąże problem.

+0

To był problem dla mnie, dzięki! Możesz przetestować, czy to jest twój problem, po prostu zmieniając nazwę tych plików z rozszerzeniem .old w katalogu System32, a następnie ponownie uruchomić. Jeśli to był problem, błędy znikną po prostu :) – pje

0

Miałem dokładnie to samo, okazało się, że jestem zobowiązany do aktualizacji samego cmd sencha. Miałem extjs 5.1 cmd 5.1.0, pobrałem extjs 6.0.1 i próbowałem wymyślić aktualizację aplikacji {new_extjs6_path} mojej aplikacji. Otrzymałem powyższy błąd, zorientowałem się, że muszę również zaktualizować cmd do wersji 6.0.1.