p_chinのおっぱいブログ

UnityとPerlなど

jenkinsでカバレッジレポートを出力しようとしたらGraphic N/Aエラーが出た話

以下の様なエラーが出た

問題っぽいのが2つある

どっちもやってダメだったら辛そう


1. jenkinsの起動オプションにエラー画像の指示通り-Djava.awt.headless=trueを追加する

  • 直接jenkins.warに引数を渡すか
java -jar path/to/jenkins.war -Djava.awt.headless=true
  • JENKINS_JAVA_OPTIONS環境変数に引数を登録すればjenkins起動時にJVMにオプション渡してくれるらしい
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"

2.フォントが足りないだけの可能性

  • 結構ググるとopenJDKだからGraphics N/Aが出るって書いてあるけど、openJDKでもfont追加すればOKっぽい
yum install dejavu-sans-fonts

jenkins公式でsearchするとこんな記事出てきて、そこに書いてある

 

openJDKからsunJDKにしたくなかった理由

  • yumでinstallできるものは、管理が楽(openJDK)
  • パッケージ管理ソフトでinstallした物は基本的にそれ自体にはバグが無いのでエラーが出ても設定を変えたりしたら解消出来たりする
  • sunのJDKはyumに無いのでソース落としてきてコンパイルする必要がある
  • しかしjavaはセキュリティFIXの更新が多いので、その度にソースからコンパイルするのは面倒くさい。

 

まとめ

エラー出たときテンパって日本人のブログ参考にしてSunのJava入れようとしたけど、英語の公式に解決法がまとまっていたので、まずそっちを頑張って読んだ方が良さそう。