控制台输出的问题:至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
如何在扫描期间跳过不需要的JAR,可以提高Tomcat中的启动时间和JSP编译时间? 如何实现更好的输出?
实现不了,还是留着这一个警告吧!!!!!!!!!!!
我的实验步骤:
警告出现是因为Tomcat扫描所有Jars的TLD(标记库定义)。
步骤1:
要查看哪些JAR抛出此警告,请将以下行插入tomcat / conf / logging.properties
org.apache.jasper.servlet.TldScanner.level = FINE
现在,您应该能够看到警告,其中包含哪些JAR导致初始警告的详细信息
然后注释掉org.apache.jasper.servlet.TldScanner.level = FINE 这一行。
步骤2
由于在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间,
我们将跳过catalina.properties
文件中不需要的JARS。你有两个选择 -
选择1:
- 在tomcat / conf / logging.properties插入
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*
以跳过所有的罐子。 - 在tomcat / conf /
catalina.properties
文件中修改这一行为*.jar,即tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar
您现在应该看不到上述警告,如果您有相当大的应用程序,它应该可以节省您在部署应用程序时的大量时间。运行的非常快啊!!!!
但是 注意:在Tomcat9.0.41中测试过。这样做就是一个坑。。。。。。
因为,会导致:如下,直接进不去网页了!!!!
所以还是改回来吧:
选择2:列出IDEA的控制台提示你的可以跳过的信息,跳过在tomcat.util.scan.StandardJarScanFilter.jarsToSkip
下的所有JAR。但是假如你有很多罐子或罐子不断变化,这可能会变得很麻烦。
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\
spring-*.jar,\
springfox-*.jar,\
classmate-*.jar,\
mybatis-*.jar,\
protobuf-java-*.jar,\
javax.servlet-api-*.jar,\
jackson-*.jar,\
jsp-api-*.jar,\
mapstruct-*.jar,\
swagger-*.jar,\
guava-*.jar,\
jstl-*.jar,\
byte-buddy-*.jar,\
mysql-connector-java-*.jar,\
是其他的原因的其他问题,要这样修改,但是对以上问题没有帮助。