Jetty 9.4.6への更新にはまる

Jettyのバージョンを更新したら、アプリケーションの設定にはまってしまったので記録として残す。

動作環境

  • macOS 10.12.5 (Sierra)
  • Java SE 8 Update 131
  • Jetty v9.1.5 (更新前)
  • Jetty v9.4.6 (更新後)

問題

  • 稼働させていた既存のアプリケーションであるJenkinsやSCM-Managerをそのまま設定ファイルと共にコピーしたものの、Jetty起動時にエラーが発生してしまいデプロイに失敗する。エラーログは下記の通り。
2017-06-19 21:00:06.070:INFO:oejs.ServletHolder:main: unavailable
java.lang.NullPointerException
	at org.eclipse.jetty.servlet.ServletHolder.initJspServlet(ServletHolder.java:700)
	at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:630)
	at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:422)
	at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:892)
	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:349)

原因

  • ログ出力の設定方法が途中のバージョンで変わっていたのが原因。設定を修正したところ、デプロイに成功し、正常に起動するようになった。

詳細

  • Jetty本体に添付されているサンプルアプリや、公式ドキュメントを見る限り、Jetty 9.3.0まででのログ設定は下記が正しい。(実際、v9.1.5では、この設定で動作していた)


...

http://www.eclipse.org/jetty/documentation/9.3.0.v20150612/configuring-jetty-request-logs.html
  • ところが、Jetty 9.3.xまでの何処かのバージョンでログ設定が変わったようだ。


...


http://www.eclipse.org/jetty/documentation/9.3.x/configuring-jetty-request-logs.html


関連