java - 如何从尝试使用 Journey Browser 中解决此 NPE
问题描述
使用旅程浏览器项目我在eclipse中建立了一个简单的maven项目,使用页面上提供的依赖,我尝试运行代码示例(页面上也提供)
我得到了一个 NPE:
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:588)
at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:583)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:582)
at java.desktop/java.awt.Toolkit.getEventQueue(Toolkit.java:1494)
at java.desktop/java.awt.EventQueue.isDispatchThread(EventQueue.java:1086)
at java.desktop/javax.swing.SwingUtilities.isEventDispatchThread(SwingUtilities.java:1493)
at com.codebrig.journey.JourneyBrowserView.<init>(JourneyBrowserView.java:78)
at com.codebrig.journey.JourneyBrowserView.<init>(JourneyBrowserView.java:71)
at JourneyBrowser.main(JourneyBrowser.java:13)
Caused by: java.lang.NullPointerException
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2646)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
at java.base/java.lang.System.loadLibrary(System.java:1870)
at java.desktop/sun.awt.windows.WToolkit$1.run(WToolkit.java:118)
at java.desktop/sun.awt.windows.WToolkit$1.run(WToolkit.java:115)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.awt.windows.WToolkit.loadLibraries(WToolkit.java:114)
at java.desktop/sun.awt.windows.WToolkit.<clinit>(WToolkit.java:129)
... 12 more
谁能解释发生了什么以及为什么在这里,我在 64 位 Windows 上使用 java Coretto 11(jdk11.0.7_10) 尝试过这个,我最初在这里发现了一个错误,与 open JDK 中的 loadLibray 相关,并认为可能是问题所在,我只是没有足够好的理解来解决如何解决它?
解决方案
我不确定,但我认为 Corretto 错误可能是导致问题的原因。如前所述,它来自他们的“上游”;即 OpenJDK 代码库。这是由于 jdk11.0.7 中出现的回归,这是由于对另一个问题的修复的反向移植。显然,该修复更改了一些内部 JDK 字段并破坏了应用程序代码。正如JDK-8240521所说:
JDK-8231584 的反向移植更改了内部 JDK 字段处理。问题是许多第三方应用程序复制粘贴了依赖于特定 JDK 实现的 hack。
如果我正确阅读了 Oracle 错误条目,则损坏的修复的恢复应该在 JDK11.0.8 中。或者,早于 11.0.7 的 JDK 11 版本不应该有损坏的修复。
让我知道更改 Java 11 安装是否可以解决问题。(如果没有,我会看看我是否可以让行号匹配。)
推荐阅读
- java - 使用 Java 打印质量差的 PDF
- javascript - 当我尝试测试导入外部 css 文件的 web 组件时,业力测试和 headlessChrome 失败(从“styles.css”导入 css)
- excel - 如何更改每个循环的变量
- html - 使用外部自定义 css 文件的浮动 TOC 的 Rmarkdown 颜色标题
- ssis - XML: 'src' 不是一个意外的标记。预期的标记是'='
- android - android - fontFamily 无法在 androidx 上运行
- ios - iOS Swift:从 iOS 框架向 iOS 应用发送日志信息
- mysql - 创建将 4 个元组汇总为一个的 VIEW
- r - R:由于内存问题,dplyr 不能与 spark 一起使用
- batch-file - 为什么此脚本在不同帐户上的运行方式不同?