使用 Maven 的 JavaFX 11 抛出异常 : "WindowsNativeRunloopThread"

标签 java eclipse maven javafx javafx-11

我一直在使用 Maven 测试 JavaFX 11,但无法使其正常工作。我已经安装了 Open JDK 11,如果添加 jar 以从可下载的 .zip 构建路径,一切正常。

然而,当我使用来自 javafx 11 的推荐 POM 文件时网站我收到以下错误。

Exception in thread "WindowsNativeRunloopThread" java.lang.NoSuchMethodError: <init>
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.staticScreen_getScreens(Native Method)
    at javafx.graphics/com.sun.glass.ui.Screen.initScreens(Screen.java:412)
    at javafx.graphics/com.sun.glass.ui.Application.lambda$run$1(Application.java:152)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
    at java.base/java.lang.Thread.run(Thread.java:834)
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
    at javafx.graphics/com.sun.prism.d3d.D3DPipeline.getAdapterOrdinal(D3DPipeline.java:205)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.assignScreensAdapters(QuantumToolkit.java:695)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.runToolkit(QuantumToolkit.java:313)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$startup$10(QuantumToolkit.java:258)
    at javafx.graphics/com.sun.glass.ui.Application.lambda$run$1(Application.java:153)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
    at java.base/java.lang.Thread.run(Thread.java:834)

这个问题好像出现过一次here但该线程中的所有解决方案均无效。

有人对如何诊断问题有建议吗?我在 Eclipse 4.9 中运行并附上了两个项目的屏幕截图,除了一个使用 maven 和另一个将 jars 添加到构建路径之外,它们是相同的。非常感谢任何帮助。 Two projects. javafx11mvn is a Maven project loading javafx11 dependencies from the POM file, java11test2 is a standard java project with javafx11 jars dded to build path]

最佳答案

这个问题的解决方案在评论中(kleopatra)。为了快速引用,您需要添加

-Djava.library.path=C:/anywhere-outside-eclipse 

(我使用 -Djava.library.path=C:/ 测试)到 VM 参数。这意味着 javafx 11 在 eclipse 中与 Maven 一起工作。

关于使用 Maven 的 JavaFX 11 抛出异常 : "WindowsNativeRunloopThread",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52906570/

相关文章:

java - 如何在不编译项目的情况下混淆代码?

java - tMysqlInput 查询中的上下文变量为 null

java - 让 Junit5 测试用例在 Spring STS 4 中运行

jsf - Maven JSF 版本

java - Maven:复制到 FTP 抛出 java.io.IOException:非法搜索

java - 在 Java 8 中使用 lambda 出现意外错误

java - 使用 Apache bzip2 库的 NullPointerException

java - IllegalArgumentException 'value' 的每个元素必须是有效的托管对象

java - Eclipse 目录模板

c - 如何在 Putty.exe 中安装 Maven?