【问题标题】:How to disable Tomcat JARScanner如何禁用 Tomcat JARScanner
【发布时间】:2012-07-24 06:57:27
【问题描述】:

如何: 禁用 Tomcat JARScanner?
原因: 停止 Tomcat 扫描我的 LIB 文件夹中的每个 .jar。

根据documentation,它表示可以在 context.xml 中禁用它。但它似乎不起作用。 (可能是我错过了什么) 我在论坛中进行了详尽的搜索,但找不到解决方案。

这是在 context.xml 中(还没有工作):

<JarScanner scanClassPath="false" scanAllFiles="false" scanAllDirectories="false"></JarScanner>

提前致谢。

【问题讨论】:

  • 请发布您尝试的配置。当您不发布您尝试过的内容时,很难猜出它为什么不起作用。
  • 我在 context.xml 中添加了我正在使用的行。对不起,谢谢
  • 您想完全禁用对所有 JAR 文件的扫描吗?您没有需要自动发现的 .tld 文件并且您没有使用任何注释?
  • 我从 web.xml 中删除了条目并且问题停止了。仍然想从 Context.xml 禁用 JarScanner(用于原型设计)

标签: java tomcat tomcat7 tomcat8


【解决方案1】:

您应该将 JarScanner 元素添加为 context.xml 文件中根 Context 元素的子元素。

我在 war 文件中有这种 META-INF/context.xml 文件,用于禁用 JarScanner:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
    <JarScanner scanClassPath="false" scanAllFiles="false" scanAllDirectories="false"/>
</Context>

【讨论】:

  • 是位于/etc/tomcat8/context.xml 的全局context.xml 文件吗?是否可以通过将配置放在 web 应用程序的 war 文件中 WEB-INF/web.xml 中来逐个 web 应用程序禁用 jar 扫描?
  • 可以通过使用应用程序 META-INF/context.xml 文件在 web-app 上由 bassis 禁用
【解决方案2】:

您可以通过打开文件来全局禁用 JarScanner 以获取用户定义的模式

%TOMCAT_HOME%/conf/catalina.properties

并将文件名模式添加到tomcat.util.scan.StandardJarScanFilter.jarsToSkip 列表。 例如,如果您想完全禁用 jar 扫描,您可以添加:

tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\
*.jar,\

注意:如果您使用 JSTL,这当然可能会导致问题,因为扫描仪无法找到模板

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-14
    • 2012-02-26
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多