2012年4月23日 星期一

在 UNIX 環境執行 Java awt 圖形介面要設定 " java.awt.headless = true" 參數


於 web container 系統啟動加入下列這一行參數:
 -Djava.awt.headless=true


注意: 
Windows 平台不會有此問題,但於 UNIX 作業環境若未有 x window 的圖形函式,就會發生 awt 無法產生圖檔的問題。(例如:即時產生浮水印圖檔)


以下資訊來源為:http://mypaper.pchome.com.tw/softlive/post/1311805933


只要在JVM 的引數列加上:java.awt.headless = true 就可以解決了,設成true 
代表避免 java 2d 去抓OS上的圖形環境相關的資訊。
因為java 的image api 會去call在unix 上面的X libs得到一些圖形上的
資訊(font 、scaling data ) ,當作業系統沒有相關的資訊就會發生這類的錯誤。
只要跟圖形化介面的東西都跟這個有關。
以tomcat為例,在catalina.sh(Windows為catalina.bat)上加下面這行,
JAVA_OPTS="$JAVA_OPTS "-Djava.awt.headless=true
不過因為Windows上通常不會發生這個問題,所以必須特別注意。



curl 常用語法

  參考: https://blog.techbridge.cc/2019/02/01/linux-curl-command-tutorial/ https://www.itread01.com/p/190409.html 應用範例: curl -X POST -i -H ...