- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为 Nashorn 找到一种解决方法,使其与 Java 1.8 以上的每个版本兼容,如另一个 question 中所述我之前问过。
我目前正在 try catch UnsupportedClassVersionError
以查明系统是否能够运行 standalone Nashorn对于像这样的 Java 15(Kotlin 代码):
scriptEngine = try {
// Java >= 15
org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory().scriptEngine
} catch(e: UnsupportedClassVersionError) {
// Java < 15
@Suppress("DEPRECATION")
jdk.nashorn.api.scripting.NashornScriptEngineFactory().scriptEngine
}
但是看起来错误没有被捕获。堆栈跟踪如下:
java.lang.UnsupportedClassVersionError: org/openjdk/nashorn/api/linker/NashornLinkerExporter has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 55.0
我也 try catch NoClassDefFoundError
反转之前的 try/catch(加载 Java < 15 Nashorn,如果它不存在加载独立的)但错误是相同的。
编辑:看起来错误是由 Java < 15 Nashorn 本身抛出的。
最佳答案
这里是 Nashorn 维护者!我刚刚发布了Nashorn 15.2 ,与 15.1.1 相同,但现在使用 Java 11 编译。这意味着您现在可以将独立的 Nashorn 与 Java 11 及更高版本一起使用,而不必切换为 < 15 和 >= 15。我写了一个 page to explain如何在同时存在内置和独立 Nashorn 的 Java 11-14 上使用它。
关于java - Java < 15 和 >= 15 的不同 Nashorn 引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66061017/
我正在尝试使用 graal + nashorn 互操作来编写与 Java 交互的 nodejs。我从 node --jvm --jvm.Xss2m --jvm.Dtruffle.js.NashornJ
我正在尝试向我们的系统添加一个脚本功能,不受信任的用户可以在其中编写简单的脚本并让它们在服务器端执行。我正在尝试使用 Nashorn 作为脚本引擎。 不幸的是,他们为 Nashorn 添加了一些非标准
我正在尝试迁移/更新我的项目以使用 Rhino 中的 Nashorn。我有一些用 Java 实现的全局实用函数,并将其添加到目标脚本引擎的全局范围中,典型的示例是 log(message)。 在Rhi
我使用 eclipse luna 作为 IDE。我在网络应用程序中工作。当我用 javascript 编写代码时,有时我会忘记输入分号,但如果我的 javascript 在浏览器中运行,一切仍然正常。
我想检索 JS 中生成的对象,将它们存储在 Java 中,然后调用它们的方法。这适用于 Java 7,现在使用 Java 8 我得到一个异常: Exception in thread "main" j
我正在将 Eclipse RCP 迁移到使用 JDK 8,并且大量使用 JS ScriptEngine。现在引入了 Nashorn,我必须添加以下行才能使 importClass 和 importPa
我试图通过 Nashorn 解析这个 Javascript: function someFunction() { return b + 1 }; 并导航到所有语句。这包括函数内部的语句。 下面的代码只
Nashorn java 脚本引擎具有内置分析器,可以像这样调用: jjs -pcs profiled_script.js。 此探查器会生成一个名为 NashornProfile.txt 的文件。以下
我在我的项目中使用 nashorn。我想从 json 中获取属性,但属性可能没有值(value)。 在 javascript 中,如果属性为 null,则使用可选链接并设置一个值;但在 nashorn
如果下面的代码可以在多线程应用程序中运行,你能帮帮我吗? 这是我的 Java 脚本,将由 Nashorn 评估 var Thread = Java.type("java.lang.Thread");
我在 nashron 和浏览器中使用独立的 js 脚本。为什么在 nashron 我得到 javax.script.ScriptException: TypeError: Cannot read pr
下面我分享了我的代码,我在其中尝试使用线程安全的 Nashorn 作为脚本引擎来评估简单的数学公式。公式类似于“a*b/2”,其中 a 和 b 将从 map 对象中获取。 public class E
如何将代码添加到 javascript 类的构造函数中。Java代码非常简单: public class MyObject extends SomeAbstractObject { public
当我尝试加载 Rhino 的 Nashorn 兼容性文件 (load("nashorn:mozilla_compat.js")) 时,出现以下错误: java.lang.RuntimeExceptio
我正在尝试使用Nashorn来解析网页的JS内容。我使用以下代码来初始化 Nashorn 并加载页面: ScriptEngineManager manager = new ScriptEngineMa
有没有一种方法可以缓存在 Nashorn 中评估的脚本以避免两次评估相同的脚本? 例如,我有一些 js 库可以做一些事情。我想评估 Library 一次,然后在我想要的每个文件上重复使用它。 publ
我正在使用 nashorn 进行一些体验。 为此,我在 java 中编写了这个简单的代码,我想在其中使用我定义的自定义对象。 ScriptEngine engine = new
假设有这样的文件 (function () { function change() { print('test'); } function test() {
我知道您可以在 Nashorn 中使用 Java 数组,并且有很多示例说明如何执行此操作。对我来说,标准方法的问题是它使 javascript 代码明确知道它的运行时环境。目前我有一个使用 Rhino
我使用 Rhino 作为图形内部的脚本组件。项目中大约有200个独立运行的小脚本。启动应用程序时,脚本应立即全速运行。 Rhino 的性能足够,但由于 Oracle 建议迁移到 Nashorn,我面临
我是一名优秀的程序员,十分优秀!