【问题标题】:IntelliJ IDEA fails to open SceneBuilder in all Java versionsIntelliJ IDEA 无法在所有 Java 版本中打开 SceneBuilder
【发布时间】:2020-03-14 00:32:04
【问题描述】:

每当我尝试在我的 fxml 文件中打开 SceneBuilder 选项卡时,我都会收到一条错误消息,指出它无法在 Scene Builder 中打开文件以及以下异常:

java.lang.ClassNotFoundException: javafx.scene.Node

java.lang.NoClassDefFoundError: javafx/scene/Node

问题是我可以在我的Main.java 文件中执行import javafx.scene.Node 而不会出现任何错误。

我尝试在所有可能的组合中将 Java 8、11 和 13 与适用于 Java 11 和 8 的 Scene Builders 一起使用,但我总是遇到同样的错误。

我在 Windows 10 上使用 IntelliJ IDEA 2019.3,Azul Zulu 作为我的 JDK 和 JavaFX SDK 库。

有什么解决办法吗?

【问题讨论】:

    标签: java intellij-idea javafx scenebuilder


    【解决方案1】:

    你在 Linux 上吗?如果是这种情况,我在使用 JDK8 时遇到了同样的问题,并通过更改终端中的 Java 版本解决了这个问题,我发现我在 IntelliJ 中使用的是 JDK8,但java -version 的输出是 OpenJDK(不包括FX 库)。

    所以,假设你和我有同样的问题,这里是你如何解决它:

    1. 首先检查你的java版本:
       java -version
    
    1. 通过键入更改默认的 java 版本:
        sudo update-alternatives --config java
    

    然后选择 JDK8 或 OpenJFX(JDK 11 之后的版本将无法工作,因为他们从中删除了 FX)

    1. 重新启动 IDE,它应该会在编辑器中打开 SceneBuilder。

    【讨论】:

    • 不幸的是我在 Windows 上。我忘了补充的是,我使用 Azul Zulu 和 JavaFX SDK 作为库,而不是 JDK8,这可能是原因吗?
    • @hypnokat,不能告诉你,因为我从来没有使用过它,但是尝试使用 JDK8 或更新的 JDK + OpenJFX 不会有任何损失。
    • 我回到 Oracle JDK 并解决了它。显然 Azul Zulu 对 JavaFX 并不友好。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多