64位linux報錯Could not initialize class java.awt.image.BufferedImage

weixin_30588675發表於2020-04-05

最近碰到一個問題:

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字元模式無法支援圖形處理

轉載於:https://www.cnblogs.com/vinozly/p/4991756.html

相關文章