You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

微软平台部署GAE遇Missing TLD Jar错误,如何解决并跳过冗余JAR?

解决Google App Engine部署时的TLD Jar扫描提示问题

嘿,我来帮你搞定这个问题~首先得明确:你看到的At least one JAR was scanned for TLDs yet contained no TLDs其实是INFO级别的日志提示,不是错误,它不会打断你的部署流程,只是告诉你有些JAR包里没有JSP标签库描述文件(TLD),扫描这些JAR属于多余操作。如果想消除这个提示或者跳过扫描不需要的JAR,试试下面这几个方案:

方案一:在web.xml中配置跳过指定JAR的TLD扫描

打开你项目里的war/WEB-INF/web.xml文件,添加<jsp-config>节点,把不需要扫描的JAR包列进去:

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <!-- 替换成你要排除的JAR文件名,多个用多个exclude-taglib-jar标签 -->
        <exclude-taglib-jar>some-library.jar</exclude-taglib-jar>
        <exclude-taglib-jar>another-unneeded.jar</exclude-taglib-jar>
    </jsp-property-group>
</jsp-config>

如果不知道具体是哪些JAR,可以先开启debug日志找到这些JAR,再添加到排除列表里。

方案二:调整日志级别隐藏INFO提示

要是你只是不想看到这个日志,不用改变扫描逻辑,可以修改项目的日志配置:

  1. 在war/WEB-INF目录下创建(如果没有的话)logging.properties文件
  2. 添加以下配置:
org.apache.jasper.servlet.TldScanner.level = WARNING

这样日志系统就只会输出WARNING及以上级别的内容,这个INFO提示就不会再出现了。

方案三:通过appcfg.cmd的JVM参数指定排除规则

执行更新命令时,直接给JVM传递跳过扫描的参数,比如:

C:\Users\tiger\Downloads\appengine-java-sdk-1.9.63\appengine-java-sdk-1.9.63\bin>appcfg.cmd -Dorg.apache.jasper.servlet.TldScanner.skipJars="some-library.jar,another-unneeded.jar" update C:\Users\tiger\Downloads\jsonengine-0.2.20110102\jsonengine\war

注意这里的skipJars参数值是逗号分隔的JAR文件名,替换成你实际需要排除的即可。

最后再提一句:如果你的部署流程没有失败,只是看到这个日志,其实完全可以不用处理它,它对功能没有影响。

内容的提问来源于stack exchange,提问作者Paul Hutcherson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:57:52