tomcat8.5 启动时报错,启动慢,缓存满

tomcat 8.5 以上,如果启动时有警告,如图,但是系统还可以正常运行
在这里插入图片描述
这种问题是因为tomcat 8.5 以上的版本加载 jar 的时候,如果这个 jar 的 MANIFEST.MF 中定义了Class-Path
在这里插入图片描述
而当前目录中没有这个类,就会报错,tomcat 8.5以前的版本却没有这个问题

解决方式

  1. 如果是单独的tomcat 可以这样设置Contextr的属情,不扫描 jar包下面的MANIFEST.MF文件
<Context>
  <JarScanner scanManifest="false">
</Context>

2.如果是springboot 可以这样设置

@Bean
public TomcatServletWebServerFactory tomcatFactory() {
return new TomcatServletWebServerFactory() {
 @Override
 protected void postProcessContext(Context context) {
  ((StandardJarScanner) context.getJarScanner()).setScanManifest(false);
 }
};
}

如果还有别的问题比如:

At least one JAR was scanned for TLDs yet contained no TLDs
至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间

可以在context里面加入,亲测有效

<JarScanner scanManifest="false">
	<JarScanFilter tldSkip="*"/>
</JarScanner>

如果有缓存的问题比如:“因为在清除过期缓存条目后可用空间仍不足 - 请考虑增加缓存的最大空间。“
解决方式在context里面加

<Resources cacheMaxSize="100000" />

如果控台有乱码,用如下方式解决

第一步:Windows+R打开运行,输入regedit进入注册表编辑器

第二步:在HKEY_CURRENT_USER→Console→Tomcat中修改CodePage为十进制的65001

参考文献

https://www.jb51.net/article/159177.htm
http://www.voidcn.com/article/p-ezyxpxvr-bvd.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值