首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OpenJdK 8-无法编译包javafx.util不存在

OpenJdK 8-无法编译包javafx.util不存在
EN

Stack Overflow用户
提问于 2022-02-08 16:23:30
回答 1查看 2K关注 0票数 2
代码语言:javascript
运行
复制
Linux Mint 20.3
   os.name = Linux
   os.arch = amd64
   os.version = 5.13.0-25-generic



 Java : 
    openjdk version "1.8.0_322"
    OpenJDK Runtime Environment (build 1.8.0_322-b06)
    OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

Maven 3.8.3

我用Maven构建了我的java项目。

当我试图用OpenJdk 1.8.0_322编译我的java项目时

代码语言:javascript
运行
复制
  package com.myproject;
    
    import java.util.Collection;
    import java.util.List;
    import java.util.Map;
    
    
    import javafx.util.Pair; //  here error
    
    @SuppressWarnings("rawtypes")
    public interface SomeMyInterface {
      // some code here
      Map<Integer, List<Pair<Integer,Integer>>> findAllMgIdsAssociatedNsPairs();
    }

我得到了错误:

代码语言:javascript
运行
复制
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /SomeMyInterface.java:[10,19] package javafx.util does not exist

如果我使用来自jdk1.8.0_202甲骨文项目成功编译!

该项目必须由java 8编译,这是客户的要求。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-08 16:26:33

tl;dr

以下任一项:

  • 在包含OpenJFX库的JDK上开发/部署。
  • 将OpenJFX库添加到您的Java项目中。

详细信息

JavaFX从未成为Java的正式组成部分。

有一段时间,甲骨文包括他们的JavaFX库和他们的JDK。他们后来停止了捆绑。

您需要将JavaFX的实现添加到项目中。您将在OpenJFX中找到这样的实现。这个开源项目是由胶子和甲骨文共同领导的OpenJDK上的一个子项目项目.

使用您选择的依赖关系管理器(如Apache或Gradle )将OpenJFX库添加到项目中。下面我把OpenJFX 11到17的Maven回购链接放在这里,但是这些链接需要11+。我没有为JavaFX/OpenJFX为Java 8找到任何Maven回购链接。

或者,您可以开发并部署到一个捆绑OpenJFX库的JDK上。至少有两个供应商通过这样一个包提供了JDK产品的版本:

  • ZuluFX by Azul系统
    • 参见此下载列表 for macOS 8 on macOS,Linux和macOS。注意下载列表顶部的字段。

  • LibericaFX by BellSoft
    • 下载页面上,选择版本绑定OpenJFX的完整选项。可在macOS、Linux和Windows上使用Java 8。

如果可能的话,可以考虑从Java8迁移。我建议移到更晚的Java11和17的LTS版本,以及最新的OpenJFX 17版本,后者需要Java11或更高版本。近年来,Java和JavaFX都有了很大的发展。这种发展包括https://openjdk.java.net/jeps/282https://openjdk.java.net/jeps/392工具,将您的JavaFX应用程序打包为单一的“双击”应用程序,该应用程序包含在特定平台上运行所需的JDK/JVM的最小部分。

版本

对于Java 11到17,需要/建议使用Java11或更高版本。见发行说明

OpenJFX 11到18的Maven链接可以是在这里发现的,以及其他Maven存储库上的链接。

OpenJFX版本14到18的源代码可以是OpenJDK在GitHub上发现站点。旧版本2、8、9和10的源代码可以在OpenJDK的只读OpenJDK存储库中找到。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71037278

复制
相关文章

相似问题

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