背景
InnoRulesサーバとTomcatを共有しているWebアプリにおいてJDK11の機能が必要となった。
JDKを11にアップグレードしたところTomcatが起動しなくなったので解決策を記録する。
環境
- Windows Server 2019
- JDK 1.8.0_144
- InnoRules 7.1
- Tomcat 7.0.53
発生した問題
Tomcatが起動しない
java.endorsed.dirs
オプションが原因。
JDK8まで存在していたJava推奨標準優先メカニズム機能がJDK9で削除されている。
そのためこのオプションが指定されていると起動しない。
解決策1
catalina.bat
内の-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"
を削除する。
解決策2
bin
lib
フォルダを最新Tomcat7のものに置き換える。
https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.109/bin/
java.lang.NoClassDefFoundErrorが発生する
java.activation
モジュールがJDK9で削除されたことが原因。
解決策
javax.activation-1.2.0.jar
を入手し以下の2箇所に配置する。
innorules-home\lib
innorules-home\innorules-server\apache-tomcat-7\lib
参考