java - 显然 java 没有适用于 Linux 和 Windows 的相同 nashorn.jar

标签 java java-8 nashorn

我正在尝试在 Linux 中从 Windows 配置我的工作区。

此代码在 Windows 中正常:

jdk.nashorn.internal.parser.JSONParser p = new jdk.nashorn.internal.parser.JSONParser(s, null);

在linux下出现如下错误:

JSONParser 类中的构造函数 JSONParser 不能应用于不同类型

而且当我查看Linux下的源代码和Windows下的源代码时,我很清楚地看到同一个类是不同的。

有人知道为什么吗?如果是这样,WORA 原则不适用于此,这对我来说似乎很困惑。

最佳答案

根据不同用户,特别是@FedericoklezCulloca给出的提示,我设法解决了我的问题。我想阐述以下几点:

  1. 仅使用 Java API 中的“公开”接口(interface),并避免使用受限制的接口(interface)。
  2. 我必须在 Linux 中获得完全相同版本的 JDK(当然是同一供应商)。比它有效。

关于java - 显然 java 没有适用于 Linux 和 Windows 的相同 nashorn.jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59879345/

相关文章:

保存并打开图像后 Java Graphics2D 编辑形状

java - MongoDB 中的 db.eval() 错误

JAVA 8 Stream 过滤器使用 Predicate 获取最新记录

java - 如何将 List<Object[]> 转换为 Stream<Object>

带有附加信息的 Java8 计数收集器

java - 使用 hibernate 取消映射的复合对象

javascript - Nodejs http.request 如何将 json 参数发送到 java 接口(interface)

javascript - Java - ScriptEngineManager nashorn Math.random 不起作用

java-8 - nashorn 用绑定(bind)替换 Java.type

javascript - 我可以从 Java 9 Nashorn 引擎运行 ECMAScript 6 吗