系统 Linux Mint

IDEA 创建的 hello world 项目,用 IDEA 运行就僵住,然而用 mvn clean javafx:run 却能成功————在系统 terminal能成功,在 IDEA 的 Terminal 不行。

不过我也是见怪不怪了,上次 Jetbrains 家的 Rider 运行 Avalonia 能出窗口,但是窗口是花的,到 Avalonia 报了 issue,最后尴尬的发现 dotnet build 后直接在系统 terminal 一切正常。

排查发现在 com.sun.prism.es2.ES2Pipeline 的静态初始化块中调用的 com.sun.prism.es2.X11GLFactory#initialize 函数会僵住,当执行 Class.forName("com.sun.prism.es2.ES2Pipeline") 就会执行到该静态块。

可能所有的 OpenGL 在 IDEA 都容易出问题。

最后在 PrismSettings 找到可以通过设置 tryOrder 避开 ES2,而使用其它的 Pipeline。javafx 共提供了 3 种 Pipeline,缩写分别是 es2 sw j2d,它默认会尝试 es2 sw。

设置 vm 参数为 -Dprism.order=sw,j2d,顺利出现窗口。

j2d 也可以用,但会有一段警告建议用 sw:

WARNING: The prism-j2d pipeline should not be used as the software

fallback pipeline. It is no longer tested nor intended to be used for

on-screen rendering. Please use the prism-sw pipeline instead by setting

the "prism.order" system property to "sw" rather than "j2d".

两个效果差不多。

JavaFx helloworld 坑的更多相关文章

  1. 借助 Java 9 Jigsaw,如何在 60 秒内创建 JavaFX HelloWorld 程序?

    [编者按]本文作者为 Carl Dea,主要介绍利用 Jigsaw 项目在大约一分钟内编写标准化的"Hello World"消息代码.本文系国内 ITOM 管理平台 OneAPM ...

  2. IDEA+maven+javafx(java 1.8)入坑记录

    序 好久没写博客了,主要是因为懒,写博客真的是个难坚持的事.但今天登上来看了看,之前记录ctf写的wp竟然点击量这么多了,突然让我有了继续写下去的动力. 这段时间遇到了好多事,中间也有想过写几篇文章记 ...

  3. Node填坑教程——HelloWorld

    环境安装(极简): Node需要的环境可以说及其简单,也可以说及其复杂.为什么这么说呢? 如果里只需要运行环境那么到Node官网下载一个包就行了.里面自带npm管理工具,这是包管理工具,以后会频繁的使 ...

  4. JAVAFX之tableview界面实时刷新导致的内存溢出(自己挖的坑,爬着也要出来啊0.0)

    这几天遇到了一个问题,不幸开发的一个cs架构的工具,客户端开启后,内存一直在缓慢增长最终导致进程卡死,花了4天时间,终于爬出来了... 客户端通过timer定时器每30秒查询一次数据库以及一些业务逻辑 ...

  5. 一、laya学习笔记 --- layabox环境搭建 HelloWorld(坑:ts版本问题解决方案)

    好吧,使用layabox需要从官网下载些啥呢 一.下载layabox 官网 https://www.layabox.com/ 首页上有两个,一个Engine,一个IDE Engine我下载的TS版本, ...

  6. Idea+Maven部署打包JavaFX项目遇到的坑

    用Idea写了一个JavaFX项目,创建artifacts,build artifacts,运行build出来的exe可执行文件时总是遇到 class not found的错误,如下图 一开始根据提示 ...

  7. JavaFX桌面应用开发-HelloWorld

    JavaFX是一个强大的图形和多媒体处理工具包集合,它允许开发者来设计.创建.测试.调试和部署富客户端程序,并且和Java一样跨平台. JavaFX比Swing好用很多,它允许开发使用FXML来设计和 ...

  8. IDEA打包javaFX及踩坑解决

    开门见山的说,先打包,再说坑. File-->Project Structure --> Artifacts-->(此处点加号)JAR-->From modules with ...

  9. jQuery升级踩坑大全

    jQuery升级踩坑大全 背景 jQuery想必各个web工程师都再熟悉不过了,不过现如今很多网站还采用了很古老的jQuery版本.其实如果早期版本使用不当,可能会有DOMXSS漏洞,非常建议升级到j ...

  10. jQuery版本升级踩坑大全

    背景 -------------------------------------------------------------------------------- jQuery想必各个web工程师 ...

随机推荐

  1. 05-react的类组件和函数组件 -- 状态 state

    // 函数组件是无状态的 既没有数据的 类似 vue 组件中的 data 数据 // 类组件是有状态的组件 是有数据的 是双向绑定的数据 是数据驱动视图的 负责UI的视图更新 (单个组件的私有数据组件 ...

  2. kali Linux 启动 apache 和 mysqll

    kali linux 自带 apache 服务 和 mysql 服务 # 启动 apache 服务 service apache2 start # 启动 mysql 服务 service mysql ...

  3. NTPShell

    NTPShell 获取地址:https://github.com/aplyc1a/NTPShell 通过NTP协议来负载C2数据. 编译 gcc ntp.c -lpthread -o ntp 使用 c ...

  4. MIL-STD-1553B总线通信模块(1553B板卡)

    MIL-STD-1553B总线通信模块(1553B板卡)产品具有以下特点: 1.产品覆盖多种接口CPCI/PXI/PCI/PC104/PC104+/USB等,满足用户不同平台的使用要求: 2.自主知识 ...

  5. MP4 转 TXT 项目与 M3U8 下载脚本

    项目背景 在当今信息社会,视频学习已成为一种重要的知识获取方式.然而,许多用户在观看视频的过程中,效率往往低于预期.为了提升学习效率,我们决定开发一个将 MP4 视频转换为 TXT 文稿的项目.此外, ...

  6. 深入浅出 Kubernetes 项目网关与应用路由

    KubeSphere 项目网关与应用路由提供了一种聚合服务的方式,将集群的内部服务通过一个外部可访问的 IP 地址以 HTTP 或 HTTPs 暴露给集群外部.应用路由定义了这些服务的访问规则,用户可 ...

  7. 云原生周刊:一文读懂 Pod 网络 | 2023.4.10

    文章推荐 一文读懂 Pod 网络 这篇文章旨在帮助读者理解 Pod 网络的概念和原理.Pod 网络是 Kubernetes 中的一个重要概念,它描述了如何在一个集群中部署和运行应用程序. Pod 网络 ...

  8. ToDesk云电脑推出Web端,这意味着什么?

    在数字化转型的浪潮中,云计算技术正在以前所未有的速度改变着我们的生活方式和工作模式.作为云计算领域的一股新生力量,ToDesk云电脑凭借其卓越的性能和便捷的使用体验,一经上线,便赢得了众多用户的青睐. ...

  9. html 根据配置项统一检查文本框数据规范

    <div> 中文名:<input id="txtName" type="text" /><br /> 身份证号:<in ...

  10. 3.2 Linux文件系统到底有什么用处?

    Linux 上常见的文件系统是EXT3或EXT4,但这篇文章并不准备一上来就直接讲它们,而希望结合Linux操作系统并从文件系统建立的基础--硬盘开始,一步步认识Linux的文件系统. 1.机械硬盘的 ...