Tomcat 应用程序 404 无法加载 - 上下文路径中的应用程序无法启动

Tomcat application 404 could not load - application at context path could not be started

我正在尝试部署预打包的 WAR 文件(ODK 聚合),使用:

我的其他 Web 应用程序将加载(示例、管理器、一些测试应用程序),但这个特定的应用程序不会加载 - 我收到 404,这是有道理的,因为它在我启动时无法加载 tomcat(或当我尝试通过经理启动它时)。 catalina 日志指示 'SEVERE: Context [/jamiibora] startup failed due to previous errors' 和 'SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file'。本地主机日志文件为空。

我尝试按照 添加 logging.properties 文件。但是,我没有在 catalina 或本地主机日志文件中得到任何额外的输出(请注意,我没有 CATALINA_HOME env 变量)。

欢迎提出建议。

cat /var/log/tomcat/catalina.2019-02-03.log

Feb 03, 2019 5:33:49 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-apr-8080"]
Feb 03, 2019 5:33:49 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Feb 03, 2019 5:33:49 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-apr-8080"]
Feb 03, 2019 5:33:49 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-apr-8080"]
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/7.0.76
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Oct 1 2018 16:39:09 UTC
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         7.0.76.0
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Linux
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            3.10.0-957.1.3.el7.x86_64
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.8.0_191-b12
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         /usr/share/tomcat
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         /usr/share/tomcat
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=/usr/share/tomcat
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=/usr/share/tomcat
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.io.tmpdir=/var/cache/tomcat/temp
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Feb 03, 2019 5:33:49 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: Loaded APR based Apache Tomcat Native library 1.2.17 using APR version 1.4.8.
Feb 03, 2019 5:33:49 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Feb 03, 2019 5:33:49 AM org.apache.catalina.core.AprLifecycleListener initializeSSL
INFO: OpenSSL successfully initialized (OpenSSL 1.0.2k-fips  26 Jan 2017)
Feb 03, 2019 5:33:49 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-8080"]
Feb 03, 2019 5:33:49 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 580 ms
Feb 03, 2019 5:33:50 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Feb 03, 2019 5:33:50 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.76
Feb 03, 2019 5:33:50 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /var/lib/tomcat/webapps/ROOT.war
Feb 03, 2019 5:33:50 AM org.apache.tomcat.util.digester.Digester endElement
WARNING:   No rules found matching 'Context/JarScanner/JarScanFilter'.
Feb 03, 2019 5:33:50 AM org.apache.catalina.startup.TldConfig execute
INFO: 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.
Feb 03, 2019 5:33:50 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive /var/lib/tomcat/webapps/ROOT.war has finished in 640 ms
Feb 03, 2019 5:33:50 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /var/lib/tomcat/webapps/jamiibora.war
Feb 03, 2019 5:33:50 AM org.apache.tomcat.util.digester.Digester endElement
WARNING:   No rules found matching 'Context/JarScanner/JarScanFilter'.
Feb 03, 2019 5:33:54 AM org.apache.catalina.startup.TldConfig execute
INFO: 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.
Feb 03, 2019 5:33:55 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
Feb 03, 2019 5:33:55 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/jamiibora] startup failed due to previous errors
Feb 03, 2019 5:33:55 AM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc
SEVERE: The web application [/jamiibora] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Feb 03, 2019 5:33:55 AM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads
SEVERE: The web application [/jamiibora] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak.
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive /var/lib/tomcat/webapps/jamiibora.war has finished in 4,853 ms
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /var/lib/tomcat/webapps/examples
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/core_rt is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/core is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt_rt is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/fmt is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/functions is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/permittedTaglibs is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/scriptfree is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql_rt is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/sql is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml_rt is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/xml is already defined
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.TldConfig execute
INFO: 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.
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /var/lib/tomcat/webapps/examples has finished in 333 ms
Feb 03, 2019 5:33:55 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /var/lib/tomcat/webapps/sample
Feb 03, 2019 5:33:56 AM org.apache.catalina.startup.TldConfig execute
INFO: 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.
Feb 03, 2019 5:33:56 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /var/lib/tomcat/webapps/sample has finished in 175 ms
Feb 03, 2019 5:33:56 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /var/lib/tomcat/webapps/host-manager
Feb 03, 2019 5:33:56 AM org.apache.catalina.startup.TldConfig execute
INFO: 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.
Feb 03, 2019 5:33:56 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /var/lib/tomcat/webapps/host-manager has finished in 219 ms
Feb 03, 2019 5:33:56 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /var/lib/tomcat/webapps/manager
Feb 03, 2019 5:33:56 AM org.apache.catalina.startup.TldConfig execute
INFO: 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.
Feb 03, 2019 5:33:56 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /var/lib/tomcat/webapps/manager has finished in 409 ms
Feb 03, 2019 5:33:56 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /var/lib/tomcat/webapps/test
Feb 03, 2019 5:33:56 AM org.apache.catalina.startup.TldConfig execute
INFO: 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.
Feb 03, 2019 5:33:56 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /var/lib/tomcat/webapps/test has finished in 151 ms
Feb 03, 2019 5:33:56 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-8080"]
Feb 03, 2019 5:33:56 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 6859 ms
Feb 03, 2019 5:34:00 AM org.apache.catalina.loader.WebappClassLoaderBase findResourceInternal
INFO: Illegal access: this web application instance has been stopped already.  Could not load .  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.

cat /var/log/tomcat/localhost.2019-02-03.log

Feb 03, 2019 5:33:49 AM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextDestroyed()
Feb 03, 2019 5:33:49 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextDestroyed()
Feb 03, 2019 5:33:55 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Feb 03, 2019 5:33:55 AM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Feb 03, 2019 5:33:55 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@5d04f344')

根据 documentation,ODK 聚合需要 Tomcat 8.

配置环境变量,确保在环境变量

中设置了JDK、JRE、Catalina_home、Catalina_base和Mysql路径