Jusqu'à présent, Apache Tomcat 8 fonctionnait sur Oracle JDK 8, mais il a été remplacé par OpenJDK 11 en raison de la prise en charge de la mise à niveau de la version JDK. Ensuite, le message d'erreur suivant a été affiché dans le journal Apache Tomcat et il n'a pas pu être démarré. J'ai eu du mal à corriger l'erreur, je vais donc décrire la solution.
[2018-10-16 02:18:51] [info] ( prunsrv.c:1175) [ 3808] Starting service...
・ ・ ・(Abréviation)・ ・ ・
[2018-10-16 02:18:56] [error]( javajni.c:763 ) [ 3816] CreateJavaVM Failed
[2018-10-16 02:18:56] [error]( javajni.c:763 ) [ 3816]Le fichier spécifié est introuvable.
[2018-10-16 02:18:57] [debug]( javajni.c:1013) [ 3816] Java Worker thread finished : with status = 2
[2018-10-16 02:18:57] [error]( prunsrv.c:1232) [ 3808] Failed to start Java
[2018-10-16 02:18:57] [error]( prunsrv.c:1580) [ 3808] ServiceStart returned 4
[2018-10-16 02:18:57] [debug]( prunsrv.c:885 ) [ 3808] reportServiceStatusE: dwCurrentState = 1, dwWin32ExitCode = 1066, dwWaitHint = 0, dwServiceSpecificExitCode = 4
[2018-10-16 02:18:58] [info] ( prunsrv.c:1645) [ 3780] Run service finished.
[2018-10-16 02:18:58] [info] ( prunsrv.c:1814) [ 3780] Commons Daemon procrun finished
<JAVA_HOME>/lib/endorsed is not supported. Endorsed standards and standalone APIs
in modular form will be supported via the concept of upgradeable modules.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Si l'option JVM d'Apache Tomcat contient java.endorsed.dirs
, Java ne démarrera pas dans JDK 9 et versions ultérieures.
Par conséquent, s'il est inclus, la ligne doit être supprimée.
-Djava.endorsed.dirs=C:\Program Files\ApacheTomcat\endorsed
Dans l'environnement Windows, vous pouvez modifier l'option JVM d'Apache Tomcat à partir de la clé de registre suivante.
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\Tomcat8\Parameters\Java\Options
De plus, veuillez noter qu'Apache Tomcat ne démarrera pas même si les conditions suivantes sont remplies.
java.ext.dirs
Xincgc
lib / ext
existelib / endossed
existeRéférence: https://docs.oracle.com/javase/jp/9/migrate/toc.htm