找不到Javascript引擎-为Java平台编写脚本

找不到Javascript引擎-为Java平台编写脚本,java,javascript,scripting,Java,Javascript,Scripting,最近,我的一些用户报告了空指针的问题。多亏了其中一个,我才发现我的应用程序找不到理论上应该随JRE一起提供的Javascript引擎(他们中的大多数都有JDK) 他们如何手动安装脚本引擎 先谢谢你 另外,大多数人都有OpenJDK。然而,这并没有发生在我身上(我也是一个OpenJDK用户)。。。 编辑:它们至少有1.5版,大多数都有1.6版。只与Java捆绑在一起。因此,您的Java 5/1.5用户不会预先安装它 也就是说,您可以从的站点手动获取Rhino,Javascript引擎,因为该引擎本

最近,我的一些用户报告了空指针的问题。多亏了其中一个,我才发现我的应用程序找不到理论上应该随JRE一起提供的Javascript引擎(他们中的大多数都有JDK)

他们如何手动安装脚本引擎

先谢谢你

另外,大多数人都有OpenJDK。然而,这并没有发生在我身上(我也是一个OpenJDK用户)。。。 编辑:它们至少有1.5版,大多数都有1.6版。

只与Java捆绑在一起。因此,您的Java 5/1.5用户不会预先安装它

也就是说,您可以从的站点手动获取Rhino,Javascript引擎,因为该引擎本身可以与Java5一起工作。但是,您必须使用,而不是使用Java的接口

来自(Java 6 SE规范):

不会要求任何 可以使用特定的脚本语言 由平台支持; 实现者可以选择包括 对脚本语言的支持 在他们看来,这是他们的选择


因此,可以想象,有一些JRE没有JavaScript支持。引擎名称、语言名称和捆绑版本也可能有所不同。“JavaScript”是Oracle的商标,因此一些供应商可能不愿意将其用作标识符字符串。

他们有什么JDK版本?Rhino的东西从1.5版开始就出现了。他们有1.5版或更高版本,大多数都有1.6版。哎呀,哎呀——引入Rhino的是1.6版,而不是1.5版。@nickguletskii Java 1.6用户报告了这个错误吗?一个简化的堆栈跟踪和问题代码对诊断您的问题非常有帮助:-)是的,它们是。堆栈跟踪没有用处-它只会显示错误在它第一次引用脚本引擎的行上,并且脚本引擎为null。例如:@nickguletskii-您应该能够将Rhino和适当的JSR223引擎添加到类路径中。以前在Oracle上有一组引擎二进制文件,但自从Oracle接管以来,它们似乎已经消失了。不过,消息来源似乎仍然存在。