【问题标题】:Error:(3, 26) java: package javafx.application does not exist错误:(3, 26) java: 包 javafx.application 不存在
【发布时间】:2018-04-22 05:55:39
【问题描述】:

我有一台新电脑,我已经安装了带有 JDK 和 JRE 9.0.1 的 inteliJ。我还安装了 SceneBuilder 9.0.1。 我已经复制了我在旧电脑上的项目,当我运行它时,我收到了这个错误: 错误:(3, 26) java: 包 javafx.application 不存在。 我是否需要安装包含此软件包的其他内容? 谢谢。

【问题讨论】:

  • 什么操作系统?您从哪里安装 JRE?
  • 你使用模块吗?如果是,您可能不会声明对包裹上瘾。
  • Win 10,来自 Oracle 的 JRE。
  • “你使用模块吗?如果是,你可能没有声明对包的依赖”——我不知道该说什么

标签: intellij-idea javafx packages


【解决方案1】:

第 1 步:将所有内容配置到 java 9

首先,您需要确保所有内容都配置为 java 9。 点击文件->项目结构

  • project 菜单上,您有 Project SDK 和语言级别 (Image)

  • modules 菜单上,您必须检查 2 个选项卡(您可能必须为每个模块检查):

    • Souces 已获得语言级别(Image)

    • 并且依赖已经拿到Module SDK (Image)

第 2 步重建您的项目

然后你需要重建你的项目:

右键单击您的项目,然后单击重建模块 (Image)

然后等到您的项目重建并尝试再次运行它。

【讨论】:

  • 我添加了一些您在重建项目之前可能需要做的事情。
【解决方案2】:

小心。此解决方案仅在 Linux (Ubuntu 16.04 & Debian 8) 上测试过并且 对于 Java 1.8.*

这应该是您的完美解决方案。尝试并享受。如果某些命令无法正常工作,则意味着您是否遇到任何错误。尝试自己解决。我已经给了你你需要的主要东西。如果您的应用程序在不同的位置,或者您的系统架构不同。自己解决。很容易做到这一点。只需按照我给定的解决方案即可。

第 0 步:

sudo apt-get install openjdk-8-jre

步数:1

sudo apt-get install openjfx

第 2 步:

sudo cp /usr/share/java/openjfx/jre/lib/ext/* /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib

第 3 步:

sudo cp /usr/share/java/openjfx/lib/* /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib

第 4 步:

sudo chmod 777 -R /usr/lib/jvm/java-1.8.0-openjdk-amd64

现在打开一个新项目或重建您的项目。祝你好运。

【讨论】:

  • 他们说他们使用 Windows - 这都是用于 Linux(特别是 Debian/Ubuntu),所以它是无关紧要的。
  • 它可能与OP无关,但它与标题相关。我来这里是为了标题,这个答案解决了我的问题。
【解决方案3】:

在 IDEA 中尝试此解决方案按 ctrl+shift+alt+s(文件 -> 项目结构)然后选择 Project -> Project Language Level 并选择 8 或以上。

【讨论】:

    【解决方案4】:

    JavaFX 包不包含在 JDK 9 及更高版本中。您需要安装JDK 8,也可以单独添加JavaFX包,例如从JDK 8 (jfxrt.jar)。

    【讨论】:

    • 这说明了为什么我正在观看的教程可以完美运行。谢谢
    • 我不知道为什么会有这么多赞成票。 JavaFX 具有本机组件和 Java 组件。 jfxrt.jar 只有 Java 组件,没有原生组件,Java 组件只兼容该版本的原生组件。简单地复制jfxrt.jar 并尝试将其与另一个发行版一起使用是一个坏主意。 Java 8 现在也已过时。要将 JavaFX 与最新的 Java 版本一起使用,请使用包含 JavaFX(如 Liberica)的 Java 发行版,或按照 openjfx.io 中记录的使用 JavaFX 模块的说明进行操作。
    【解决方案5】:

    如果您是 java 8+,则不包括 javafx 库。您需要通过您最喜欢的构建工具将它们添加为编译运行时库。

    【讨论】:

    • 怎么做? (在 Windows 上)
    • 你使用什么构建工具?
    • @Nikolay Hansen Eclipse
    【解决方案6】:

    我的问题是我删除了我的 SDK 15 并安装了 SDK 16。检查文件 -> 项目结构 -> 库下的库位置。如果您的库版本低于您在项目设置 -> 项目 -> 项目 SDK 下选择的版本。你会过得很糟糕的。

    【讨论】:

      【解决方案7】:

      我已经复制了同样的问题after adding the library,但使用了Java 11 & JavaFX 11

      为了修复它,我遵循了以下步骤:

      1. 首先,点击Project Structure -> Libraries 并检查库是否未被使用:

      1. 其次,打开Project Structure -> Problems,点击[Fix] -> Add to Dependencies...

      1. 第三,选择module,点击OK

      1. 最后,点击ApplyOK

      因此,将是:

      【讨论】:

        【解决方案8】:

        如果您在使用 Maven 的 JavaFx 版本 17 的模块化项目中遇到这种情况,只需尝试通常的操作,例如站在头上、在天花板上行走、向相反方向旋转地球,甚至阅读 https://openjfx.io/openjfx-docs/,然后只需切换到 17.0.1 或更高版本,它应该可以工作:

        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>17.0.1</version>
        </dependency>
        

        【讨论】:

          猜你喜欢
          • 2019-02-20
          • 1970-01-01
          • 2020-04-05
          • 2011-09-16
          • 2016-05-24
          • 1970-01-01
          • 1970-01-01
          • 2023-02-14
          相关资源
          最近更新 更多