显然 java 对于 Linux 和 Windows 没有相同的 nashorn.jar

Apparently java doesn't have the same nashorn.jar for Linux and Windows

我正在尝试从 windows 在 linux 中配置我的工作区。

在windows中可以使用的代码:

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

在linux下出现如下错误:

constructor JSONParser in class JSONParser cannot be applied to different types

而当我查看Linux下的源代码和查看Windows下的源代码时,我很清楚相同的class是不同的。

有人知道这是为什么吗?如果是这样,这里没有应用 WORA 原则,这让我很困惑。

根据不同用户的提示,尤其是@FedericoklezCulloca,我设法解决了我的问题。我会在下面声明以下几点:

  1. 仅使用 Java API 中的 "exposed" 界面,避免使用受限制的界面。
  2. 我必须在 linux 中获得完全相同的 JDK 版本(当然是同一家供应商)。比它的工作。