You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ExtJS在Java14及以上版本运行异常:无法创建JS脚本引擎求助

ExtJS 在 Java 14+ 环境运行失败的解决办法

问题原因

默认安装的 ExtJS 依赖旧版 Sencha Cmd,而该版本依赖 JDK 内置的 Nashorn JavaScript 引擎。Java 14 开始 Nashorn 被标记为废弃,Java 15 直接移除了该引擎,导致构建时出现警告或失败(报错Unable to create javax script engine for javascript)。

解决办法

方案一:降级 Java 版本(快速临时方案)

使用 Java 8 至 Java 13 之间的版本,这些版本仍保留 Nashorn 引擎,可直接兼容旧版构建流程。可以用 jEnv 等工具管理多 Java 版本,快速切换。

方案二:升级 Sencha Cmd 到兼容版本

Sencha Cmd 7.6 及后续版本(适配 ExtJS 7.6+)已支持替代 Nashorn 的方案(如 Node.js 或 GraalVM JS 引擎):

  • 全局更新 Sencha Cmd:npm install -g @sencha/cmd
  • 进入项目根目录,执行更新命令:sencha app upgrade
  • 升级后项目配置会自动替换依赖 Nashorn 的逻辑,重新执行构建即可。

方案三:手动配置使用 Node.js 替代 Nashorn

若无法升级 Cmd 但必须使用 Java 14+:

  • 打开项目根目录下的 .sencha/app/sencha.cfg 文件
  • 添加配置项:sencha.cmd.javascript.engine=node
  • 确保本地已安装 Node.js,且node命令可在环境变量中访问
  • 重新执行构建命令,此时 Sencha Cmd 会调用 Node.js 处理 JS 脚本,不再依赖 Nashorn

内容的提问来源于stack exchange,提问作者klodoma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 11:50:46