You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu命令行禁用Headless Java Mode运行Java GUI应用

解决Ubuntu命令行运行Java GUI程序的HeadlessException问题

问题根源

你遇到的java.awt.HeadlessException确实是因为安装了Headless版JDK——这类JDK为适配轻量后台运行场景,移除了AWT/Swing等GUI相关依赖库,无法启动图形界面程序。而IntelliJ能正常运行,是因为IDE自带完整的Headful JDK环境,或自动配置了适配GUI的运行参数。

解决方法

方法一:替换为完整Headful版JDK(长期稳妥方案)

  1. 卸载当前Headless JDK
    执行以下命令(将*替换为你实际安装的JDK版本号,比如17、11,也可直接用通配符匹配所有Headless版本):
    sudo apt remove openjdk-*-jdk-headless
    
  2. 安装完整的Headful JDK
    对应版本安装命令示例(根据程序需求选择对应版本):
    sudo apt install openjdk-17-jdk
    
  3. 验证与测试
    先确认JDK版本:
    java -version
    
    再重新运行GUI程序:
    java -jar TIcTacToe.jar
    

方法二:临时禁用Headless模式(仅适配非纯Headless JDK)

若不想更换JDK,可尝试在运行jar时强制关闭Headless模式,但前提是系统本身具备X11图形环境,且JDK只是默认启用Headless而非纯Headless版本:

java -Djava.awt.headless=false -jar TIcTacToe.jar

内容的提问来源于stack exchange,提问作者Honza Píka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 23:05:28