首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么在使用带有FX的OpenJDK的Azul Zulu版本将JavaFX项目升级到JDK17之后,IDEA找不到JavaFX包?

为什么在使用带有FX的OpenJDK的Azul Zulu版本将JavaFX项目升级到JDK17之后,IDEA找不到JavaFX包?
EN

Stack Overflow用户
提问于 2021-10-19 15:00:21
回答 1查看 272关注 0票数 3

我有一个Java FX项目,并使用以下带有JavaFX的OpenJDK的Azul Zulu版本将该项目升级到JDK17

https://www.azul.com/downloads/?os=windows&package=jdk-fx

有谁知道为什么Intellij无法从Azul Zulu Builds的OpenJDK with FX中找到使用JDK17的JavaFX包?

EN

回答 1

Stack Overflow用户

发布于 2021-10-19 18:28:00

我提供两种解决方案:

使用Azul发行版的

  1. ,其中包含JavaFX模块(这就是您所要求的)、

使用不包含JavaFX的Azul发行版的

  1. ,并使用构建工具使用Maven Central的JavaFX模块。

我推荐使用构建工具的解决方案2。它的设置速度更快,而且对于未来的开发工作来说,它是一种更可移植、更灵活和更具可扩展性的方法。

替代JDK

这些说明同样适用于其他JDK和JavaFX发行版,比如由Belsoft Liberica、Amazon Correto和Eclipse Temurin打包的发行版。

要使用JDK的备用供应商,请选择从所选供应商下载适当的版本,或者:

使用下面列出的添加JDK选项手动下载

  • ,让Idea从您选择的供应商执行下载(使用下面列出的下载JDK选项)。

解决方案1:通过内置JavaFX模块使用Azul发行版

下载Azul JDK:

  1. 转到Azul下载站点,选择适当的版本、平台和软件包(使用JDK作为软件包,而不是我的链接用于基于英特尔的Mac版本,但您的链接可能因系统架构的不同而不同:

代码语言:javascript
复制
- [https://www.azul.com/downloads/?version=java-17-lts&os=macos&package=jdk-fx](https://www.azul.com/downloads/?version=java-17-lts&os=macos&package=jdk-fx)

  1. 将下载的包解压缩到计算机上的某个位置。

Create a Java project (不是新的JavaFX项目):

  1. 文件|新建项目...| Java

  1. 项目SDK |添加JDK...

  1. 使用JavaFX download选择您解压Azul JDK的位置。

  1. 保留默认选项,多次选择Next。

  1. 命名项目并选择Finish。

创建一个JavaFX HelloWorld.java类:

click on >右键单击Application.,然后选择| JavaFX

  1. 将其命名为HelloWorld。

  1. 将HelloWorld应用程序的内容编辑为:

导入javafx.application.Application;导入javafx.scene.Scene;导入javafx.scene.control.Button;导入javafx.stage.Stage;公共类HelloWorld扩展应用{ public static void (String[] args) { launch(args);} @Override public void (Stage primaryStage) {primaryStage.setScene(新场景(新按钮(“hello,world”);primaryStage.show();} }

Run the new JavaFX application in the IDE using Azul JDK + JavaFX runtime

  1. 打开HelloWorld.java类,单击栏间距中的运行应用程序图标,然后选择运行应用程序

故障排除

如果您执行上述操作,但找不到JavaFX类,那么您可能没有使用包含JavaFX的JDK。

在这种情况下,除非您将JDK版本更改为包含JavaFX的版本,否则您应该从openjfx.io下载JavaFX SDK,并遵循那里提供的Idea项目设置信息。

解决方案2:使用Azul,但是从Maven Central源码JavaFX模块

下面的解决方案是将Azul运行时与JavaFX模块一起使用,这些模块来自使用Maven的Maven Central Repository。

Create a JavaFX project

  1. 文件|新建|项目...|JavaFX
  2. 将项目名称编辑为您想要的名称。
  3. 保留默认选项,选择下一步|完成。

Download and use Azul JDK in your project

祖鲁文件|项目结构|项目开发工具包|下载JDK...

  • Choose供应商Azul
  1. | OK

如果您想要使用Azul下载和添加步骤,而不是IDE设置中用于新Java项目的缺省JDK,则只需执行Azul下载和添加步骤。

Run the new JavaFX application in the IDE using Azul JDK runtime and maven JavaFX modules

  1. 打开HelloApplication.java类,单击栏间距中的运行应用程序图标,然后选择运行应用程序
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69633235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档