Sencha Cmd 5 + Java 8 Ошибка

После установки Java 8 JDK на моем сервере сборки Windows, я сталкиваюсь со следующей ошибкой при выполнении sencha команда:

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 подразумевает, что Java 8 еще не поддерживается (однако Sencha Cmd отлично работает на моей рабочей станции Mac OS X с Java 8):

Sencha Cmd требует Java Runtime Environment версии 1.7 для поддержки всех функций...

У меня все еще установлен JDK 7 на сервере. Есть ли способ заставить Sencha Cmd использовать другую установку JDK? Изменение JAVA_HOME и PATH sysenvs не работает, и редактирование реестра не вариант.

ОБНОВЛЕНИЕ: я столкнулся с этим вопросом, где несколько java.exe файлы вызывают ту же ошибку (и это определенно возможно здесь), однако maven, ant, tomcat, jenkins и множество других инструментов Java работают нормально. Я видел только эту ошибку с Sencha Cmd.

4 ответа

Чтобы сделать это немного более конкретным, я последовал совету Бена и создал следующий файл sencha.bat в моем каталоге установки:

@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" %*

и я переименовал существующий файл sencha.exe в нечто безобидное. Теперь я могу просто напечатать "sencha" в командной строке без лишних хлопот. Конечно, если у вас другая вспомогательная версия Java 7, вам нужно отредактировать JAVA_HOME выше.

Моя переменная среды "Путь" отображает "C:\ProgramData\Oracle\Java\javapath", которая содержит 3 ярлыка для следующих файлов из "C:\Program Files\Java\jre1.8.0_xx\bin":

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

Но эти файлы также присутствуют в 'C:\Windows\System32'; если вы вызовете "java" из этого каталога, у вас будет та же ошибка (ошибка: ключ реестра...), заменив эти 3 файла в "C: \ Windows \ System32" на файлы из "C: \ Program Files \ Java" \ jre1.8.0_xx \ бин; это решит проблему.

Попробуйте следующий обходной путь, чтобы использовать последнюю версию SenchaCMD, работающую с JDK8:

  1. проверьте переменную среды PATH; особенно правильный путь установки Java
  2. откройте командную строку и перейдите в папку sencha-cmd
  3. чтобы использовать SenchaCMD, просто запустите файл "sencha.jar" с java:

    java -jar sencha.jar

Теперь вы должны увидеть всю информацию о версии о запущенном SenchaCMD-Tool.

Протестировано с JDK 1.8.0u25 и SenchaCMD 5.1.0.26 на W7 Prof. x64

У меня была точно такая же вещь, я обнаружил, что мне нужно обновить сам Sencha cmd. У меня была extjs 5.1 cmd 5.1.0, я скачал extjs 6.0.1 и попытался обновить приложение sencha {new_extjs6_path}. Получил вышеуказанную ошибку, понял, что мне нужно обновить cmd до 6.0.1.

Другие вопросы по тегам