骨瘦如柴的战争,EAR中的库:“未找到struts-tags”错误

骨瘦如柴的战争,EAR中的库:“未找到struts-tags”错误,第1张

骨瘦如柴的战争,EAR中的库:“未找到struts-tags”错误

将库从WAR移到EAR可能非常有用,例如,如果一个EAR内有多个WAR ,则可以避免库的冗余。

注意:在Struts2中使用多个WAR时,您 可能 在某些应用程序服务器中遇到问题:请阅读官方文档中的更多内容。

要使Skinny WAR(没有库的WAR)正常工作,条件是:

  1. WAR

    meta-INF/MANIFEST.MF
    必须包含链接您的库的Class-Path属性:

    Class-Path: lib/struts2-core-2.3.15.2.jar         lib/xwork-core-2.3.15.2.jar  lib/all_your_libraries_here...
  2. EAR

    application.xml
    必须包含:

<library-directory>lib</library-directory>

为了在Maven上实现此条件,而无需声明EAR的POM.xml中WAR的POM.xml的每个库的依赖性,您可以使用此惊人的技巧。

就是说,问题中报告的问题是由于

TLD
仅在WAR上执行查找,而EAR不在范围内 (AFAIK,无法在EAR中查找TLD,但我想被证明是错误的)。

解决方案:

提取

struts-tags.tld
struts2-core-2.3.x.x.jar
,并将其放置在
(各)
WAR/WEB-INF

文件夹。 这与JAR中的任何类型的TLD文件有关,而不仅与Struts2有关。

在JSP中:

<%@ taglib prefix="s" uri="/WEB-INF/struts-tags.tld" %>


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4964142.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存