最近碰到一個問題:
64位linux報錯Could not initialize class java.awt.image.BufferedImage
在WIN平臺下執行正常
BufferedImage tag = new BufferedImage(this.width,this.height,BufferedImage.TYPE_USHORT_555_RGB);
tag.getGraphics().drawImage(src,0,0,this.width,this.height,null);
網上有說法換成32位linux即可解決。
不想換系統的話,我的解決方法是:
只需在TOMCAT啟動引數中加"-Djava.awt.headless=true /"
啟動檔案是:/bin/catalina.sh
加入的上下文 是
else
"$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS /
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" /
-Dcatalina.base="$CATALINA_BASE" /
-Dcatalina.home="$CATALINA_HOME" /
-Djava.io.tmpdir="$CATALINA_TMPDIR" /
-Djava.awt.headless=true /*********加入這一行**************
org.apache.catalina.startup.Bootstrap "$@" start /
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
if [ ! -z "$CATALINA_PID" ]; then
echo $! > $CATALINA_PID
fi
fi
elif [ "$1" = "stop" ] ; then
加的時候注意位置(stop是關鍵的位置標誌)
以上無法執行的原因是LINUX字元模式無法支援圖形處理