Could not initialize class sun.awt.X11GraphicsEnvironment解決方案

Yark發表於2021-09-07

Could not initialize class sun.awt.X11GraphicsEnvironment 解決方案

報錯資訊:

Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment

報錯原因:

一個Java伺服器來處理圖片的API基本上是需要執行一個X-server以便能使用AWT(Abstract Window Toolkit,抽象視窗工具集)。所以,問題肯定出在啟動server時,未能實現X-Server功能。報錯的原因是:linux未能啟動XServer服務

解決方案:

1、伺服器安裝XServer

這個服務一般包含於圖形化介面組裡, 未親測;

2、執行headless伺服器加-Djava.awt.headless=true

需要JDK1.4以上版本;在有問題的server服務的java -jar啟動命令增加選項-Djava.awt.headless=true; ( 親測,有效)

示例:

#tomcat將此引數加入catalina.sh的JAVA_OPTS引數中
JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -Djava.awt.headless=true"
#springBoot專案將引數加入到啟動命令中
/usr/java/jdk1.8.0_191/bin/java -jar  -Djava.awt.headless=true -Xms128m -Xmx512m  spring-demo-1.0-SNAPSHOT.jar
本作品採用《CC 協議》,轉載必須註明作者和本文連結
:kissing_closed_eyes: 我愛小硯 乀(ˉεˉ乀)

相關文章