我已在Windows机器上的Tomcat-8上部署war文件,它正在按预期工作。但是当我尝试在Linux机器上的Tomcat-8上部署相同的war文件时,它会产生以下异常。
我检查了classpath并添加了必要的jar文件,但得到了相同的异常。我不知道Linux会出现什么问题
Uploading file restart-tc.sh to working directory.
Executing /tmp/ot-20170510T051140583/generic_plugin.tmp/restart-tc.sh on host Infrastructure/NONPROD/devlopment/lste.08jvm.sdde.domain.com
[sudo] password for password:
restarting myapplication
INFO: Server version: Apache Tomcat/8.0.39
INFO: Server built: Nov 9 2016 08:48:39 UTC
INFO: Server number: 8.0.39.0
INFO: OS Name: Linux
INFO: OS Version: 3.10.0-514.el7.x86_64
INFO: Architecture: amd64
INFO: Java Home: /usr/java/jdk1.8.0_111/jre
INFO: JVM Version: 1.8.0_111-b14
INFO: JVM Vendor: Oracle Corporation
INFO: CATALINA_BASE: /www/myapplication
INFO: CATALINA_HOME: /www/tomcat/apache-tomcat-8.0.39
INFO: Command line argument: -Dnop
INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
INFO: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
INFO: Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
INFO: Command line argument: -Dcom.sun.management.jmxremote.port=10070
INFO: Command line argument: -Dcom.sun.management.jmxremote.ssl=false
INFO: Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
INFO: Command line argument: -verbose:gc
INFO: Command line argument: -XX:+PrintGCDetails
INFO: Command line argument: -XX:+PrintGCDateStamps
INFO: Command line argument: -XX:+HeapDumpOnOutOfMemoryError
INFO: Command line argument: -XX:HeapDumpPath=/www/myapplication/logs
INFO: Command line argument: -Xms128m
INFO: Command line argument: -Xmx1g
INFO: Command line argument: -Djava.awt.headless=true
INFO: Command line argument: -Dcom.ibm.mq.jms.ForceUserID=true
INFO: Command line argument: -DIafMOD=/www/myapplication
INFO: Command line argument: -DIafConfigSuffix=Devl
INFO: Command line argument: -Djava.endorsed.dirs=/www/tomcat/apache-tomcat-8.0.39/endorsed
INFO: Command line argument: -Dcatalina.base=/www/myapplication
INFO: Command line argument: -Dcatalina.home=/www/tomcat/apache-tomcat-8.0.39
INFO: Command line argument: -Djava.io.tmpdir=/www/myapplication/temp
INFO: Loaded APR based Apache Tomcat Native library 1.2.10 using APR version 1.5.2.
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
INFO: Initializing ProtocolHandler ["http-apr-8070"]
INFO: Initialization processed in 946 ms
INFO: Starting service Catalina
INFO: Starting Servlet Engine: Apache Tomcat/8.0.39
INFO: Deploying web application archive /www/myapplication/webapps/myapplication.war
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.
INFO: Initializing Spring root WebApplicationContext
timestamp: 2017-05-10 05:11:49.207 AM CDT (1494411109207)
timestamp: 2017-05-10 05:11:49.233 AM CDT (1494411109233)
SEVERE: Exception sending context initialized event to listener instance of class com.domain.unit.myapplication.application.ServletContextListener
timestamp: 2017-05-10 05:11:49.233 AM CDT (1494411109233)
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [7,941] milliseconds.
SEVERE: Context [/myapplication] startup failed due to previous errors
INFO: Closing Spring root WebApplicationContext
WARNING: The web application [myapplication] appears to have started a thread named [IAF Log Rotation Timer (May 10, 2017 5:11:47 AM) - myapplication] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
INFO: Deployment of web application archive /www/myapplication/webapps/myapplication.war has finished in 13,538 ms
INFO: Starting ProtocolHandler ["http-apr-8070"]
INFO: Server startup in 13673 ms
的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5"xmlns="http://java.sun.com/xml/ns /javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>myapplication</display-name>
<context-param>
<param-name>contextClass</param-name>
<param-value>com.domain.unit.iaf.customframework.application.CustomFrameWorkXmlWebApplicationContext</param-value>
</context-param>
<filter>
<filter-name>UTFRequestFilter</filter-name>
<filter-class>com.domain.unit.myapplication.application.UTFRequestFilter</filter-class>
</filter>
<filter>
<filter-name>UTFResponseFilter</filter-name>
<filter-class>com.domain.unit.myapplication.application.UTFResponseFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UTFRequestFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>UTFResponseFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CustomFrameWorkRequestContextFilter</filter-name>
<filter-class>com.domain.unit.iaf.customframework.application.CustomFrameWorkRequestContextFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CustomFrameWorkRequestContextFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>com.domain.unit.myapplication.application.ServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>DRPFamilyMaintenanceServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.DRPFamilyMaintenanceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DRPFamilyMaintenanceServlet</servlet-name>
<url-pattern>/myapplicationHome</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>TermSearchServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.TermSearchServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TermSearchServlet</servlet-name>
<url-pattern>/TermSearch</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>UserSearchServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.UserSearchServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserSearchServlet</servlet-name>
<url-pattern>/UserSearch</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>UserMaintenanceServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.UserMaintenanceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserMaintenanceServlet</servlet-name>
<url-pattern>/UserMaintenance</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>TermMaintenanceServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.TermMaintenanceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TermMaintenanceServlet</servlet-name>
<url-pattern>/TermMaintenance</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DemoMaintenanceServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.DemoMaintenanceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DemoMaintenanceServlet</servlet-name>
<url-pattern>/DemoMaintenance</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>PTLogSearchServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.PTLogSearchServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PTLogSearchServlet</servlet-name>
<url-pattern>/PTLogSearch</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SPLUServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.SPLUServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SPLUServlet</servlet-name>
<url-pattern>/SPLUpdate</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DRDTUSearchServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.DRDTUSearchServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DRDTUSearchServlet</servlet-name>
<url-pattern>/DRDTUSearch</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SPLSearchServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.SPLSearchServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SPLSearchServlet</servlet-name>
<url-pattern>/SPLSearch</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SpecialSearchServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.SpecialSearchServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SpecialSearchServlet</servlet-name>
<url-pattern>/SpecialSearch</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>LogViewer</servlet-name>
<servlet-class>com.domain.unit.iaf.logviewer.secure.servlets.LogViewer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LogViewer</servlet-name>
<url-pattern>/LogViewer</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DRPDemoCopyServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.DRPDemoCopyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DRPDemoCopyServlet</servlet-name>
<url-pattern>/DRPDemoCopy</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>FamilyImageServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.FamilyImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FamilyImageServlet</servlet-name>
<url-pattern>/FamilyImage</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DRPFamilyImageServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.DRPFamilyImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DRPFamilyImageServlet</servlet-name>
<url-pattern>/DRPFamilyImage</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>HelpReaderServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.HelpReaderServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelpReaderServlet</servlet-name>
<url-pattern>/HelpReaderServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>RefreshCacheServlet</servlet-name>
<servlet-class>com.domain.unit.myapplication.view.servlets.RefreshCacheServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RefreshCacheServlet</servlet-name>
<url-pattern>/RefreshCache</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>THServletClient</servlet-name>
<servlet-class>com.domain.unit.iaf.testharness.view.servlets.THServletClient</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>THServletClient</servlet-name>
<url-pattern>/THServletClient</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>drpu_help.html</welcome-file>
<welcome-file>image.jsp</welcome-file>
</welcome-file-list>
</web-app>