系统 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. 【赵渝强】使用二进制包部署Kubernetes集群

    在一些企业的私有环境中可能无法连接外部的网络.如果要在这样的环境中部署Kubernetes集群,可以采集Kubernetes离线安装的方式进行部署.即:使用二进制安装包部署Kubernetes集群,采 ...

  2. 《Vue.js 设计与实现》读书笔记 - 第10章、双端 Diff 算法

    第10章.双端 Diff 算法 10.1 双端比较的原理 上一章的移动算法并不是最优的,比如我们把 ABC 移动为 CAB,如下 A C B --> A C B 按照上一章的算法,我们遍历新的数 ...

  3. C#/.NET/.NET Core技术前沿周刊 | 第 8 期(2024年10.01-10.06)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...

  4. 五行强度得分_喜用神api免费接口_json数据八字五行强弱接口

    本API接口基于深厚的八字学原理,为用户提供详尽的五行(金.木.水.火.土)强弱分析.五行打分评估,以及精准的喜用神判断.用户只需输入自己的八字信息,即可获得全面而深入的命理解读. ‌一.核心功能‌ ...

  5. kali Linux 启动 apache 和 mysqll

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

  6. ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南续篇

    作者:运维有术 前言 知识点 定级:入门级 KubeKey 安装部署 ARM 版 KubeSphere 和 Kubernetes ARM 版 KubeSphere 和 Kubernetes 常见问题 ...

  7. 云原生爱好者周刊:STUNner 助你在 K8s 集群中使用 WebRTC 服务

    开源项目推荐 STUNner 目前大多数内网穿透服务都依赖于 STUN 服务或者 TURN 服务,但这些服务大多数都是公用的,即使是私有化部署,也没法迁移到 Kubernetes 的环境中,因为 Ku ...

  8. 容器部署DNS你会吗?

    docker快速部署DNS,实现快速上线 概念 环境介绍 部署DNS 下载相关镜像 创建并启动DNS容器 简单介绍三种创建方式 容器启动停止 创建dns交互式容器 配置DNS容器相关配置 测试 修改客 ...

  9. Java中序列化与反序列化

    序列化(Serialization)和反序列化(Deserialization)是计算机科学中用于数据存储和传输的两种基本操作. 序列化: 序列化是将对象的状态信息转换为可以存储或传输的形式的过程.简 ...

  10. 大厂SSP的Java学习路线

    现在互联网环境这么差,Java还能学吗? 学Java还能找到工作吗? 大家好呀, 我是程序员回家养猪, 一个专升本, 三段实习经历拿下大厂SSP offer的程序员博主. 关于我的个人经历, 之前文章 ...