如何使用java 10在maven中添加javafx依赖项

2024-01-09

我切换到ubuntu 18.04。 其中默认 jvm 为 java 10

现在我使用 javafx 的应用程序无法再编译。

 cannot find symbol
[ERROR]   symbol:   class ObservableMap

我尝试向 maven-compiler-plugin 添加参数以加载 javafx.graphics 模块。

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <compilerArgs>
                    <arg>--add-modules</arg>
                    <arg>javafx.graphics</arg>
                </compilerArgs>
            </configuration>
        </plugin>

结果 :

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] module not found: javafx.graphics

当然,java --list-modules | grep fx 什么也不返回。

我花了 10 多个小时试图解决这个问题。

TL:DR 我应该如何使用 Java 10 编译我的 JavaFX 模块?

最小项目:

/pom.xml

<project>
    <modelVersion>4.0.0</modelVersion>
    <packaging>jar</packaging>
    <name>java10fx</name>

    <artifactId>java10fx</artifactId>
    <version>0.0.1</version>
    <groupId>my.test</groupId>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <release>10</release>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

/src/main/java/MyApp.java

import javafx.application.Application;
import javafx.stage.Stage;

public class MyApp  extends Application{

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {}

}

error :

java10fx/src/main/java/MyApp.java:[1,26] package javafx.application does not exist

OpenJDK 从未包含 JavaFX,从 Java 11 开始,Oracle JDK 也不会包含 JavaFX,因此 JavaFX 必须成为常规依赖项。 OpenJFX,JavaFX 背后的项目,最近发布了独立 JavaFX SDK 的早期访问版本 http://mail.openjdk.java.net/pipermail/openjfx-dev/2018-May/021819.html它适用于 Java 10 和 11,但尚未在 Maven Central 上提供(计划在未来)。

现在,你必须下载SDK http://jdk.java.net/openjfx/手动并找到将其添加到 Maven 构建的方法,例如将其部署到 Nexus 或将其包含在存储库的文件夹中。一旦它在 Maven Central 上可用,您就可以像使用任何其他依赖项一样使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用java 10在maven中添加javafx依赖项 的相关文章

随机推荐

  • 将鼠标悬停在另一个元素上时更改一个元素的类 d3

    我有一个图像列表和图像标题列表 我希望当我将鼠标悬停在相应的图像上时能够显示标题的悬停状态 更改 css 但我不知道如何连接这两个数据 我的代码如下 我有它 这样当您单击顶部数字时 信息就会显示在下面
  • 将焦点设置在 Windows 中的控制台上?

    是否可以将焦点设置在 Windows 中的控制台应用程序上 SetFocus http msdn microsoft com en us library ms646312 VS 85 aspx看起来很有希望 但它需要一个 HWND 而且我不
  • VARCHAR2 列上的 ResultSet.getString() 返回空字符串

    免责声明 我实际上对 Oracle 和 Java 都一无所知 问题出在其他一些开发人员在某个时间点完成然后离开公司的项目中 现在我必须设置网络服务器 数据库并使其全部启动并运行 代码大约是这样的 OracleDataSource ods n
  • 扩展基元而不对其进行原型设计

    我正在开发一个相当丑陋的库 它可以让你做一些奇怪的事情 有了图表 您可以以链式样式映射一组集合 并且当您更改 整个系统中要改变的值 当最终类型是 JS 原语时 问题就出现了 就我而言 在使用值和对象制作图表后 我可以执行以下操作 CHAIN
  • 动态添加项目到边框视口

    我想首先创建一个空视口 布局 边框 然后向其中添加项目 最后渲染并显示 但是当我创建视口元素时 它抛出一个错误 说 未捕获的类型错误 无法读取未定义的属性 flex 这是我的代码
  • 通过adb授予PACKAGE_USAGE_STATS权限

    adb shell pm grant x y z android permission PACKAGE USAGE STATS 这是授予的命令PACKAGE USAGE STATS通过 adb 获得权限 但只有当我从未在本机设置中切换此权限
  • 如何使用react-router-dom创建受保护的路由?

    如何创建受保护的路由react router dom并将响应存储在 localStorage 中 以便用户下次尝试打开时可以再次查看其详细信息 登录后 他们应该重定向到仪表板页面 所有功能都添加到 ContextApi 中 代码沙箱链接 C
  • webpack "--watch" 与 "--hot" :有什么区别?

    使用有什么区别 webpack watch and webpack dev server hot thanks 根据 webpack 文档 https webpack github io docs tutorials getting sta
  • 仅 Vault Enterprise 的 Vault Sidecar 注入器权限被拒绝

    我正在尝试探索Vault Enterprise 但当我使用Vault Enterprise时 Sidecar的权限被拒绝 但当我尝试使用本地Vault服务器时 似乎工作正常 这是包含本地保管库的工作示例的存储库保险库边车注射器应用程序 ht
  • 使用 python 3 代码在 CSV 文件中查找特定标头

    现在我有Python 3代码 它获取CSV文件中的一列数据 根据空格将每个单元格中的短语分隔成单独的单词 然后将数据导出回新的CSV文件中 我想知道是否有一种方法可以告诉 python 仅将格式化代码应用于具有特定标题的特定列 这是我的源数
  • 如何在C#中获取Table的innerHTML

    HtmlTable baseCalendar new HtmlTable HtmlTableRow calendarRow new HtmlTableRow HtmlTableCell calendarCell new HtmlTableC
  • 根据几个条件计算总计

    假设我有一个这样的表 id col1 col2 col3 1 a 1 k1 2 a 2 k2 3 a 3 k3 4 b 3 k4 现在 我想要所有行的列 col2 的总和 其中 col1 与 id 1 的行中的 col1 相同 所以那就是1
  • 如何在 Django 模板中访问外键表的数据?

    我想将外键表的数据访问到 django 模板中 我的代码如下 class TutorialCategory models Model tutorial category models CharField max length 200 cat
  • Visual Studio Community 2019 在为 MATLAB MEX 文件的性能分析器“准备数据”期间挂起

    我正在尝试使用 Visual Studio Community Edition 2019 分析 MEX mexw64 文件 该 MEX 文件是根据我们编写的 C 文件创建的 并使用 GCC 和 G 进行编译 并启用了调试符号 如果重要的话
  • 如何在 if 语句中回显 PHP 和 HTML

    我有一个 if 语句 只需在 result37 ncrteam 的值时显示一些代码 但是我如何回显该 HTML 和 PHP 代码 回声 不工作并回显 也不行 这是我的代码 Status br
  • Docker 容器之间的 HTTP 请求

    我正处于学习如何使用 Docker 的第一阶段 所以我正在尝试一些基本的东西 我创建了两个需要通过 HTTP 请求交换数据的 Node Express 服务 My docker compose yml file networks isola
  • Android - Firebase 快速入门电子邮件/密码身份验证演示不起作用

    因此 这里有几个类似的问题 但没有一个对我来说有可行的解决方案 我正在使用从 Github 下载的 Quickstart 演示 今天下载了 我没有更改演示代码中的任何内容 我已经解决了一些常见错误 根据我所读到的内容 我在 Firebase
  • Python:列表中的每个元素占用多少空间?

    我需要一个非常大的列表 并且正在尝试弄清楚我可以将其设置为多大 以便它仍然适合 1 2GB 的 RAM 我正在使用 64 位 x86 64 上的 CPython 实现 编辑 感谢 bua 的回答 我已经填写了一些更具体的答案 空间 内存 使
  • 将字符串传递给 sass mixin 中的变量

    我有一个非常简单的 mixin 如下所示 mixin global variable name font size variable name font size 我之前定义了变量 input font size 并将其按以下格式传递到 m
  • 如何使用java 10在maven中添加javafx依赖项

    我切换到ubuntu 18 04 其中默认 jvm 为 java 10 现在我使用 javafx 的应用程序无法再编译 cannot find symbol ERROR symbol class ObservableMap 我尝试向 mav