macos在运行jar文件时崩溃
第一次写社区文章,听闻社区里有很多技术精湛的师傅,遂二月红前来求助🙏
问题是这样的,在运行jar文件时软件爆出以下错误
❯ 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
❯ 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的更高版本
如果有师傅处理过相关问题的话还望不吝赐教🙏
不胜感激🙏🙏🙏