Springboot war包在windows tomcat9启动慢

Springboot打包war包后,部署在tomcat9上,生产环境系统是windows7
启动要两分半,但是打包成jar启动只要20s不到,这是为什么?

主要卡在如下的一段日志这里,一直在长时间的部署,我把war扔到tomcat里启动一遍后就删除了,再启动还是慢的很

23-Aug-2019 15:42:23.477 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\Develop\service\apache-tomcat-9.0.16\webapps\Proj]
23-Aug-2019 15:42:23.521 警告 [main] org.apache.tomcat.util.digester.Digester.endElement No rules found matching [Context/Context/JarScanner/JarScanFilter]
23-Aug-2019 15:42:23.522 警告 [main] org.apache.tomcat.util.digester.Digester.endElement No rules found matching [Context/Context/JarScanner]
23-Aug-2019 15:42:23.523 警告 [main] org.apache.tomcat.util.digester.Digester.endElement No rules found matching [Context/Context]

而且并没有输出SecureRandom相关的日志,虽然我也配置file:/dev/./urandom了

完整的一次catalina启动日志如下,感觉也没什么问题

23-Aug-2019 15:32:09.726 信息 [Thread-7] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8989"]
23-Aug-2019 15:32:09.730 信息 [Thread-7] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["ajp-nio-8009"]
23-Aug-2019 15:32:09.732 信息 [Thread-7] org.apache.coyote.AbstractProtocol.destroy 正在摧毁协议处理器 ["http-nio-8989"]
23-Aug-2019 15:32:09.734 信息 [Thread-7] org.apache.coyote.AbstractProtocol.destroy 正在摧毁协议处理器 ["ajp-nio-8009"]
23-Aug-2019 15:42:18.092 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本:        Apache Tomcat/9.0.16
23-Aug-2019 15:42:18.105 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.构建:          Feb 4 2019 16:30:29 UTC
23-Aug-2019 15:42:18.106 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.16.0
23-Aug-2019 15:42:18.106 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Windows 7
23-Aug-2019 15:42:18.107 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本:            6.1
23-Aug-2019 15:42:18.107 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 结.造:          amd64
23-Aug-2019 15:42:18.108 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量:             D:\Develop\service\jre8
23-Aug-2019 15:42:18.109 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM 版本:           1.8.0_152-b16
23-Aug-2019 15:42:18.109 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商:            Oracle Corporation
23-Aug-2019 15:42:18.110 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         D:\Develop\service\apache-tomcat-9.0.16
23-Aug-2019 15:42:18.110 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         D:\Develop\service\apache-tomcat-9.0.16
23-Aug-2019 15:42:18.111 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=D:\Develop\service\apache-tomcat-9.0.16\conf\logging.properties
23-Aug-2019 15:42:18.112 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
23-Aug-2019 15:42:18.113 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
23-Aug-2019 15:42:18.116 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
23-Aug-2019 15:42:18.117 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.security.egd=file:/dev/./urandom
23-Aug-2019 15:42:18.118 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
23-Aug-2019 15:42:18.119 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=D:\Develop\service\apache-tomcat-9.0.16
23-Aug-2019 15:42:18.119 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=D:\Develop\service\apache-tomcat-9.0.16
23-Aug-2019 15:42:18.120 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=D:\Develop\service\apache-tomcat-9.0.16\temp
23-Aug-2019 15:42:18.121 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.21] using APR version [1.6.5].
23-Aug-2019 15:42:18.121 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
23-Aug-2019 15:42:18.122 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
23-Aug-2019 15:42:18.137 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1a  20 Nov 2018]
23-Aug-2019 15:42:18.332 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8989"]
23-Aug-2019 15:42:23.390 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["ajp-nio-8009"]
23-Aug-2019 15:42:23.414 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[5,634]毫秒内初始化
23-Aug-2019 15:42:23.454 信息 [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
23-Aug-2019 15:42:23.455 信息 [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.16]
23-Aug-2019 15:42:23.477 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\Develop\service\apache-tomcat-9.0.16\webapps\Proj]
23-Aug-2019 15:42:23.521 警告 [main] org.apache.tomcat.util.digester.Digester.endElement No rules found matching [Context/Context/JarScanner/JarScanFilter]
23-Aug-2019 15:42:23.522 警告 [main] org.apache.tomcat.util.digester.Digester.endElement No rules found matching [Context/Context/JarScanner]
23-Aug-2019 15:42:23.523 警告 [main] org.apache.tomcat.util.digester.Digester.endElement No rules found matching [Context/Context]
23-Aug-2019 15:44:36.907 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [D:\Develop\service\apache-tomcat-9.0.16\webapps\Proj] has finished in [133,430] ms
23-Aug-2019 15:44:36.910 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8989"]
23-Aug-2019 15:44:36.941 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["ajp-nio-8009"]
23-Aug-2019 15:44:36.964 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in [133,556] milliseconds

关闭tomcat时会警告,这个对项目有影响吗?

23-Aug-2019 15:32:08.541 信息 [Thread-7] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8989"]
23-Aug-2019 15:32:08.613 信息 [Thread-7] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-8009"]
23-Aug-2019 15:32:08.672 信息 [Thread-7] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina]
23-Aug-2019 15:32:09.714 警告 [Thread-7] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc Web应用程序 [Proj] 注册了JDBC驱动程序 [com.alibaba.druid.proxy.DruidDriver],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。
23-Aug-2019 15:32:09.716 警告 [Thread-7] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc Web应用程序 [Proj] 注册了JDBC驱动程序 [com.mysql.jdbc.Driver],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。
23-Aug-2019 15:32:09.718 警告 [Thread-7] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [Proj] 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. Stack trace of thread:
 java.lang.Object.wait(Native Method)
 java.lang.ref.ReferenceQueue.remove(Unknown Source)
 com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)
23-Aug-2019 15:32:09.726 信息 [Thread-7] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8989"]
23-Aug-2019 15:32:09.730 信息 [Thread-7] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["ajp-nio-8009"]
23-Aug-2019 15:32:09.732 信息 [Thread-7] org.apache.coyote.AbstractProtocol.destroy 正在摧毁协议处理器 ["http-nio-8989"]
23-Aug-2019 15:32:09.734 信息 [Thread-7] org.apache.coyote.AbstractProtocol.destroy 正在摧毁协议处理器 ["ajp-nio-8009"]

在运行的情况下跑同一个接口,war要2s左右,jar只要0.1s,这是为什么??
难不成真就是打war包跑tomcat脱裤子放屁?

阅读 4.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题