我正在使用Java8和Kotlin,但我的项目中的一个库(http://michel-kraemer.github.io/citeproc-java/)拒绝在与Java8捆绑在一起的Nashorn JavaScript解释器上运行,解决方案是使用Rhino JavaScript解释器。
我正在使用Gradle来构建我的项目。我已经将Rhino添加到我的依赖项中,但是库仍然坚持使用Nashorn。
compile 'org.mozilla:rhino:1.7.7.1' 此外,下面的代码会生成一个NullPointerException:
val m = ScriptEngineManager()
// specifically look for "rhino" engine
val engine = m.getEngineByName("rhino")所以看起来Rhino并不在任何类路径上。如何确保Rhino可用于我的应用程序?
发布于 2016-09-19 20:48:22
基于Rhino的jsr223引擎不再随jdk8+一起提供。但是,您可以按照这里介绍的步骤在jdk8+ -> https://wiki.openjdk.java.net/display/Nashorn/Using+Rhino+JSR-223+engine+with+JDK8上获取Rhino引擎
也就是说,我们想知道为什么nashorn不能使用!请提交错误或将问题报告发送到nashorn-dev openjdk别名。
发布于 2016-10-07 18:26:01
除了Rhino引擎,您还需要JSR-233桥(因为它已经不在JDK中了)。您可以使用以下maven依赖项:
<dependency>
<groupId>org.mozilla</groupId>
<artifactId>rhino</artifactId>
<version>1.7.7.1</version>
</dependency>
<dependency>
<groupId>cat.inspiracio</groupId>
<artifactId>rhino-js-engine</artifactId>
<version>1.7.7.1</version>
</dependency>然后,您只需调用正确的脚本引擎:
new ScriptEngineManager().getEngineByName("rhino");发布于 2021-08-26 04:46:30
你会发现这很有帮助。
https://github.com/mozilla/rhino/releases/tag/Rhino1_7_13_Release
现在您可以添加额外的'org.mozilla:rhino-engine:1.7.13',以使引擎可用,前提是它在您的类路径中。
https://stackoverflow.com/questions/39563758
复制相似问题