対象読者
SpringBootを使ったWebサービスを開発しており、内蔵Tomcatを利用している。
また、SSI (Server Side Include) を利用しているため、SSIServlet
を使用している。
TL;DR
Tomcat 9.0.30ではSSI関連のモジュールが外部ライブラリ化していますので、
以下のTomcat SSIライブラリも依存関係に追加しなければならなくなりました。
経緯
JVNVU#98104709 Apache Tomcat の複数の脆弱性に対するアップデート
http://jvn.jp/vu/JVNVU98104709/index.html
により、SpringBootの内蔵Tomcatをバージョンアップする必要が出てきました。
そこで、SpringBootのバージョンを最新のリリースバージョン2.2.4.RELEASE
へと更新することにしました。
SpringBoot 2.2.4RELEASEの内蔵Tomcatのバージョン
公式ドキュメントによると、内蔵されたTomcatのバージョンは9.0.30
です。
Tomcat 9.0.30では、SSI関連モジュールが外部ライブラリ化されている!
ここで、Tomcat 9.0.30のChangeLogを参照すると、
Moved server-side include (SSI) module into a separate JAR library. (schultz)
と記載されています。
実際にbuild.gradle
ファイルにてSpringBootのバージョンを2.2.4.RELEASE
へと変更すると、
SSIServlet
が見つからなくなり、ビルドできなくなります。
どこに移動したかが書いていないので、MVN Repositoryを探索しました。
Tomcat SSIライブラリに分割されていた
MVN Repository内にて、Tomcat SSIライブラリを発見しました。
Spring Bootの内蔵Tomcatにバージョンをあわせて9.0.30
を選択して、build.gradle
のdependencies
に追加したところ、問題なくSSIServlet
を見つけられるようになり、ビルドが通りました。
まとめ
本記事では、Spring Boot 2.2.4.RELEASE内蔵のTomcat 9.0.30にて、SSIを使用するための依存ライブラリを紹介しました。
お役に立てれば幸いです。