5

在 catalina.properties 它说:

# 不应扫描配置信息的 JAR 文件列表
# 如网页片段、TLD 文件等。它必须是逗号分隔的列表
# JAR 文件名。
# 下面列出的 JAR 包括:
# - Tomcat 引导 JAR
# - Tomcat API JAR
# - Catalina JAR
# - 贾斯珀 JAR
# - Tomcat JAR
# - 常见的非 Tomcat JAR
# - Sun JDK JAR
# - Apple JDK JAR
tomcat.util.scan.DefaultJarScanner.jarsToSkip=\
bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,\

谁能解释为什么?例如,你必须在你的库中包含 jstl.jar,但如果它被称为 jstl.jar,它会跳过它。我只是不明白首先跳过它的意义是什么?

4

1 回答 1

12

评论说明了一切:“不应扫描配置信息的文件”即。如果您知道您的 jar 没有任何配置信息,请将它们包含在此处,以便 tomcat 不会查看它。

底线是这样的:它将减少 tomcat 完成启动所需的时间。

它在小型部署中似乎不是很有用,但请相信我:它确实在具有数百个 jar 文件的大型部署中产生了巨大的差异。

如果不包含 jars,或者没有要跳过的模式(例如 a*.jar - 排除以“a”开头的所有内容),那么所有内容都会被打开、读取以了解配置。

在我工作的公司中,我们使用的是 TC Server,它只是一个花哨的 Tomcat:没有跳过 jars 的模式,tc server 需要大约 20 分钟来扫描 jar 文件……然后再花 10 分钟来部署所有内容。

当我们添加模式以跳过几乎 99% 时,我们能够将服务器启动时间缩短到大约 12 分钟 - 不完美,但整个事情是巨大的,因此,这是我们接受的折衷方案。

于 2013-02-12T15:06:14.347 回答