taglib definition not consistent with specification version

问题描述:

从TongWeb6、tomcat7及之前老版本上移植到TongWeb7上的应用报错如下:

[2020-12-17 15:50:05 447] [SEVERE] [http-nio2-9060-exec-9] [other] [Parse error in application web.xml file at file:/opt/......./defaultroot.war/WEB-INF/web.xml]
org.xml.sax.SAXParseException; systemId: file:/opt/...../defaultroot.war/WEB-INF/web.xml; lineNumber: 642; columnNumber: 13; Error at (642, 13) : taglib definition not consistent with specification version
    at com.tongweb.web.util.digester.Digester.createSAXException(Digester.java:1907)
    at com.tongweb.web.util.digester.Digester.createSAXException(Digester.java:1939)
    at com.tongweb.web.util.digester.Digester.startElement(Digester.java:1193)
    at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)

Caused by: java.lang.IllegalArgumentException: taglib definition not consistent with specification version
    at com.tongweb.web.util.descriptor.web.TaglibLocationRule.begin(WebRuleSet.java:1289)
    at com.tongweb.web.util.digester.Digester.startElement(Digester.java:1190)
    ... 104 more

原因:

JavaEE规范更新对web.xml中 的taglib格式做了变更,不兼容老格式。

解决办法:

 修改web.xml, 如下:

修改前:

<taglib>
  <taglib-uri>/custom</taglib-uri>
  <taglib-location>/WEB-INF/tld/custom.tld</taglib-location>
</taglib>
<taglib>
  <taglib-uri>/test</taglib-uri>
  <taglib-location>/WEB-INF/tld/test.tld</taglib-location>
</taglib>

修改后增加<jsp-config>:

<jsp-config>
  <taglib>
     <taglib-uri>/custom</taglib-uri>
     <taglib-location>/WEB-INF/tld/custom.tld</taglib-location>
  </taglib>
  <taglib>
     <taglib-uri>/test</taglib-uri>
     <taglib-location>/WEB-INF/tld/test.tld</taglib-location>
  </taglib>
</jsp-config>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值