求助:macOS 运行 JavaFX 工具报错

macos在运行jar文件时崩溃

第一次写社区文章,听闻社区里有很多技术精湛的师傅,遂二月红前来求助🙏

问题是这样的,在运行jar文件时软件爆出以下错误

shell 复制代码
❯ java -jar shiro_attack-4.7.0-SNAPSHOT-all.jar
Picked up _JAVA_OPTIONS: -XX:+UnlockExperimentalVMOptions
Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: Both width and height must be >= 0
	at javafx.geometry.Rectangle2D.<init>(Rectangle2D.java:104)
	at javafx.stage.Screen.nativeToScreen(Screen.java:154)
	at javafx.stage.Screen.updateConfiguration(Screen.java:112)
	at javafx.stage.Screen.checkDirty(Screen.java:87)
	at javafx.stage.Screen.getPrimary(Screen.java:185)
	at com.sun.javafx.tk.quantum.QuantumToolkit.initSceneGraph(QuantumToolkit.java:320)
	at com.sun.javafx.tk.quantum.QuantumToolkit.runToolkit(QuantumToolkit.java:362)
	at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$startup$10(QuantumToolkit.java:279)
	at com.sun.glass.ui.Application.lambda$run$1(Application.java:156)
	at com.sun.glass.ui.mac.MacApplication.lambda$runLoop$3(MacApplication.java:90)

这里问ai给出的回答是:JavaFX 应用在 macOS 系统上启动时,无法正确获取屏幕的尺寸信息,导致传入了无效的宽高(0 或负数),从而引发崩溃,导致了ui界面无法打开

主要报错是这一条"JavaFX Application Thread" java.lang.IllegalArgumentException: Both width and height must be >= 0

其实之前是没有爆过这个错误的,是在外接了显示屏后图像处理错误,高版本的java是移除了javafx,需要单独下载这个插件,我现在使用的是最后一个带javafx版本的java,1.8.481

shell 复制代码
❯ java -version
java version "1.8.0_481"
Java(TM) SE Runtime Environment (build 1.8.0_481-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.481-b10, mixed mode)

在此之前尝试了ai给出的建议,但都无果

  • 1.重启
  • 2.调分辨率
  • 3.使用命令强行指定屏幕尺寸
  • 4.切换java版本,使用带有javafx的更高版本

如果有师傅处理过相关问题的话还望不吝赐教🙏

不胜感激🙏🙏🙏

相关推荐
步行cgn14 分钟前
Spring MVC 视图机制的核心接口与类
java·开发语言·后端·spring·mvc
y1su31 分钟前
Leetcode 字符串模板
java·数据结构·算法·leetcode·职场和发展·动态规划
我命由我123452 小时前
Python 开发 - Python 的 pathlib
java·开发语言·后端·python·学习·java-ee·学习方法
苜蓿muxu2 小时前
Java 字符串拼接:+、StringBuilder、StringBuffer的区别
java
摇滚侠2 小时前
《Java并发编程之美》第 4 章 Java 并发包中原子操作类原理剖析 阅读笔记 7
java·笔记·python
旋律4143 小时前
同义方法区别(增加类与删除类)
java·后端
学到老活到老3 小时前
方法执行完了,对象为什么还占着内存?
java·jvm
用户7771298509123 小时前
常见的同义方法的区别:增加类和删除类
java·后端
十年Java程序媛3 小时前
Java this 与 super 详解|继承高频踩坑 + 面试题整理
java·spring boot·面试