Sencha Cmd 5 + Java 8 错误

Posted

技术标签:

【中文标题】Sencha Cmd 5 + Java 8 错误【英文标题】:Sencha Cmd 5 + Java 8 Error 【发布时间】:2015-01-05 19:06:59 【问题描述】:

在我的 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.

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 不起作用,并且无法编辑注册表。

更新:我遇到过this question,其中多个java.exe 文件会导致相同的错误(这里绝对有可能)但是 maven、ant、tomcat、jenkins 和一系列其他 Java 工具运行良好。我只在 Sencha Cmd 中看到过这个错误。

【问题讨论】:

【参考方案1】:

为了更具体一点,我按照 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" %*

我将现有的 sencha.exe 重命名为无害的东西。现在我可以在命令行中简单地键入“sencha”,而无需大惊小怪。当然,如果您有不同的 Java 7 次要版本,则需要编辑上面的 JAVA_HOME。

【讨论】:

太棒了!使用此解决方案,无需操作注册表或路径环境变量或降级 android 工具或其他任何东西。 这是一个很好的解决方案,似乎 sencha.exe 不尊重或正在重置 PATH 环境变量。【参考方案2】:

我的“路径”环境变量正在映射“C:\ProgramData\Oracle\Java\javapath”,其中包含来自“C:\Program Files\Java\jre1.8.0_xx\bin”的以下文件的 3 个快捷方式:

java.exe javaw.exe javaws.exe

但这些文件也存在于“C:\Windows\System32”中;如果您从此目录调用“java”,您将遇到相同的错误(错误:注册表项...) 通过将 'C:\Windows\System32' 中的这 3 个文件替换为来自 'C:\Program Files\Java\jre1.8.0_xx\bin' 的文件;它会解决这个问题。

【讨论】:

这是我的问题,谢谢!您可以通过在 System32 目录中使用 .old 扩展名重命名这些文件然后重新运行来测试这是否是您的问题。如果这是问题所在,错误就会消失 :)【参考方案3】:

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

    检查你的PATH环境变量;尤其是正确的 java 安装路径 打开命令提示符,进入 sencha-cmd 文件夹

    要使用 SenchaCMD,只需使用 java 执行“sencha.jar”文件:

    java -jar sencha.jar

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

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

【讨论】:

【参考方案4】:

我有同样的事情,发现我需要更新 sencha cmd 本身。我有 extjs 5.1 cmd 5.1.0 ,下载了 extjs 6.0.1 并尝试 sencha app upgrade new_extjs6_path 我的应用程序。收到上述错误,发现我也需要将 cmd 更新到 6.0.1。

【讨论】:

以上是关于Sencha Cmd 5 + Java 8 错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 Sencha Cmd5 从 Sencha Touch 生成 Android apk,无错误,无输出

Sencha cmd 构建错误:shellscript 返回:1

Sencha cmd 5缩小问题

使用CMD的Sencha 6 EXT JS Build - 错误的路径

Sencha cmd服务器错误:别名资源:

Sencha cmd build native 升级到版本 5 后失败