tomcat 8.5 以上,如果启动时有警告,如图,但是系统还可以正常运行
这种问题是因为tomcat 8.5 以上的版本加载 jar 的时候,如果这个 jar 的 MANIFEST.MF 中定义了Class-Path
而当前目录中没有这个类,就会报错,tomcat 8.5以前的版本却没有这个问题
解决方式
- 如果是单独的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