问题描述:
将打包好的war包放到webapps下面,启动tomcat(8.5.40版本)后,tomcat启动界面一直卡在日志At least one JAR was scanned for TLDs yet contained no TLDs这句话这里,大概会停留1到2分钟左右,不同的服务器在此处的停留时间是不一样的,服务器越好自然停留的时间就越短。
解决方法:
参考1:https://blog.csdn.net/sinat_34104446/article/details/82721250
参考2:https://blog.csdn.net/weixin_41338112/article/details/86737779
参考3:https://blog.csdn.net/chszs/article/details/49494701
个人总结:
1.找到tomcat的bin目录catalina.sh文件,找到如下图所示的这一行
在此行位置后面增加部分代码-Djava.security.egd=file:/dev/urandom,如下图所示:
再次启动服务会发现项目启动已经非常快了,到此为至,该问题已得到解决。
下面的是为了解决项目启动日志中出现如下所示的提示语句而采取的相应的策略:
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.
2.找到tomcat的conf目录下面的catalina.properties文件,将文件中tomcat.util.scan.StandardJarScanFilter.jarsToSkip的值修改为如下图所示,即tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar,并且将下方所添加需要忽略的jar包全都删除掉,只保留如下方红框所示的两行内容。
如果项目中不使用jsp作为渲染视图的文件,则上述的操作是可以进行的,即启动的项目的过程中忽略所有符合TLD规范的jar包,可以看到我们启动速度前面又快了几秒。
提示:若不是不得已不建议进行此操作,为了减少不必要新的麻烦,尽量保留tomcat的原生配置信息。