[JAVA] Lösung für Apache Tomcat 8 startet nicht nach dem Wechsel zu OpenJDK 11

Überblick

Bisher lief Apache Tomcat 8 unter Oracle JDK 8, wurde jedoch aufgrund der Unterstützung des JDK-Versions-Upgrades durch OpenJDK 11 ersetzt. Anschließend wurde die folgende Fehlermeldung im Apache Tomcat-Protokoll angezeigt und konnte nicht gestartet werden. Es fiel mir schwer, den Fehler zu beheben, daher werde ich die Lösung beschreiben.

[2018-10-16 02:18:51] [info]  ( prunsrv.c:1175) [ 3808] Starting service...
・ ・ ・(Abkürzung)・ ・ ・
[2018-10-16 02:18:56] [error]( javajni.c:763 ) [ 3816] CreateJavaVM Failed
[2018-10-16 02:18:56] [error]( javajni.c:763 ) [ 3816]Die angegebene Datei wurde nicht gefunden.
[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.

Lösungen

Wenn die JVM-Option von Apache Tomcat "java.endorsed.dirs" enthält, kann Java in JDK 9 und höher nicht gestartet werden. Wenn es enthalten ist, muss die Zeile daher gelöscht werden.

-Djava.endorsed.dirs=C:\Program Files\ApacheTomcat\endorsed

In der Windows-Umgebung können Sie die JVM-Option von Apache Tomcat über den folgenden Registrierungsschlüssel ändern.

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\Tomcat8\Parameters\Java\Options

Beachten Sie außerdem, dass Apache Tomcat auch dann nicht gestartet werden kann, wenn die folgenden Bedingungen erfüllt sind.

Referenz: https://docs.oracle.com/javase/jp/9/migrate/toc.htm

Recommended Posts

Lösung für Apache Tomcat 8 startet nicht nach dem Wechsel zu OpenJDK 11
Lösung, wenn Java-Abschlusskandidaten nach der Aktualisierung auf Eclipse 2018-12 verschwinden
Problemumgehung für GMO VPS (CentOS8.1) kann nach dem yum-Update nicht gestartet werden