我正在尝试在tomcat服务器版本9的根目录中部署应用程序,但无法加载并抛出以下错误:
失败-在上下文路径[/]处部署了应用程序,但是上下文无法启动
但是在Tomcat 8中部署了相同的应用程序war文件。
PFB Catalina日志:
01-Nov-2019 06:22:52.153 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/9.0.27
01-Nov-2019 06:22:52.246 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Oct 7 2019 09:57:22 UTC
01-Nov-2019 06:22:52.246 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.27.0
01-Nov-2019 06:22:52.246 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows Server 2016
01-Nov-2019 06:22:52.246 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 10.0
01-Nov-2019 06:22:52.246 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
01-Nov-2019 06:22:52.246 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: C:\Program Files\Java\jre1.8.0_221
01-Nov-2019 06:22:52.246 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_221-b11
01-Nov-2019 06:22:52.246 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
01-Nov-2019 06:22:52.246 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Apache\Tomcat_9_0_27
01-Nov-2019 06:22:52.246 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\Apache\Tomcat_9_0_27
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\Apache\Tomcat_9_0_27
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Apache\Tomcat_9_0_27
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=C:\Apache\Tomcat_9_0_27\endorsed
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\Apache\Tomcat_9_0_27\temp
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Apache\Tomcat_9_0_27\conf\logging.properties
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: exit
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: abort
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms1024m
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx3052m
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.23] using APR version [1.7.0].
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
01-Nov-2019 06:22:52.324 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
01-Nov-2019 06:22:52.340 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1c 28 May 2019]
01-Nov-2019 06:22:55.074 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
01-Nov-2019 06:22:55.231 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-80"]
01-Nov-2019 06:22:55.246 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["https-openssl-nio-443"]
01-Nov-2019 06:22:55.403 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [4,066] milliseconds
01-Nov-2019 06:22:55.481 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
01-Nov-2019 06:22:55.481 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.27]
01-Nov-2019 06:22:55.496 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Apache\Tomcat_9_0_27\webapps\manager]
01-Nov-2019 06:22:55.965 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
01-Nov-2019 06:22:56.090 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Apache\Tomcat_9_0_27\webapps\manager] has finished in [594] ms
01-Nov-2019 06:22:56.106 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
01-Nov-2019 06:22:56.121 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-80"]
01-Nov-2019 06:22:56.137 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["https-openssl-nio-443"]
01-Nov-2019 06:22:56.153 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [749] milliseconds
01-Nov-2019 06:24:01.123 INFO [http-nio-80-exec-8] org.apache.catalina.startup.HostConfig.deployDescriptor Deploying deployment descriptor [C:\Apache\Tomcat_9_0_27\conf\Catalina\localhost\ROOT.xml]
01-Nov-2019 06:24:38.173 SEVERE [http-nio-80-exec-8] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
01-Nov-2019 06:24:38.174 SEVERE [http-nio-80-exec-8] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors
01-Nov-2019 06:24:38.605 WARNING [http-nio-80-exec-8] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [ROOT] registered the JDBC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
01-Nov-2019 06:24:38.607 WARNING [http-nio-80-exec-8] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [Log4j2-Log4j2Scheduled-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
01-Nov-2019 06:24:38.610 SEVERE [http-nio-80-exec-8] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [ROOT] created a ThreadLocal with key of type [com.microsoft.sqlserver.jdbc.ActivityCorrelator$1] (value [com.microsoft.sqlserver.jdbc.ActivityCorrelator$1@2f9330be]) and a value of type [com.microsoft.sqlserver.jdbc.ActivityId] (value [60e402ad-da7b-49f3-9569-c3dc5c9f79cb-4]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
01-Nov-2019 06:24:38.641 INFO [http-nio-80-exec-8] org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of deployment descriptor [C:\Apache\Tomcat_9_0_27\conf\Catalina\localhost\ROOT.xml] has finished in [37,517] ms
01-Nov-2019 06:24:58.482 INFO [Log4j2-Log4j2Scheduled-1] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illegal access: this web application instance has been stopped already. Could not load [org.apache.logging.log4j.core.config.ConfiguratonFileWatcher$ReconfigurationWorker]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.apache.logging.log4j.core.config.ConfiguratonFileWatcher$ReconfigurationWorker]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1385)
at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1373)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1226)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188)
at org.apache.logging.log4j.core.config.ConfiguratonFileWatcher.fileModified(ConfiguratonFileWatcher.java:46)
at org.apache.logging.log4j.core.util.WatchManager$WatchWorker.run(WatchManager.java:101)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Tomcat版本
Apache Tomcat / 9.0.27
JVM版本
1.8.0_221-b11