Sencha Cmd 5 + Java 8错误

she*_*erb 6 java windows sencha-cmd

在我的Windows构建服务器上安装Java 8 JDK后,执行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.
Run Code Online (Sandbox Code Playgroud)

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的这个错误.

van*_*lle 8

为了使这个更具体一点,我遵循了ben的建议并在我的安装目录中创建了以下的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" %*
Run Code Online (Sandbox Code Playgroud)

我将现有的sencha.exe重命名为无害的.现在我可以在命令行中输入"sencha"而不用大惊小怪.当然,如果您有不同的Java 7次要版本,则需要编辑上面的JAVA_HOME.


小智 7

我的'Path'环境变量映射'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',你将会遇到同样的错误(错误:注册表项...)通过将'C:\ Windows\System32'中的这3个文件替换为'C:\ Program Files\Java中的'\jre1.8.0_xx\bin'的; 它会解决这个问题.


小智 3

尝试以下解决方法以使用与 JDK8 配合使用的最新 SenchaCMD:

  1. 检查你的 PATH 环境变量;尤其是正确的java安装路径
  2. 打开命令提示符并转到 sencha-cmd 文件夹
  3. 要使用 SenchaCMD,只需使用 java 执行“sencha.jar”文件:

    java -jar sencha.jar
    

现在,您应该看到有关执行的 SenchaCMD-Tool 的所有版本信息。

在 W7 Prof. x64 上使用 JDK 1.8.0u25 和 SenchaCMD 5.1.0.26 进行测试