Java 骨瘦如柴的战争,耳边的图书馆;找不到struts标记";错误

Java 骨瘦如柴的战争,耳边的图书馆;找不到struts标记";错误,java,jakarta-ee,struts2,war,ear,Java,Jakarta Ee,Struts2,War,Ear,在一个JavaEE项目中,我将所有库从WAR/WEB-INF/lib移动到EAR/lib 打开JSP时,现在出现以下错误: Struts检测到未处理的异常: 信息: 未找到文件“/struts标记” 文件:org/apache/jasper/compiler/DefaultErrorHandler.java 行号:51 Stacktraces org.apache.jasper.JasperException: File "/struts-tags" not found ...........

在一个JavaEE项目中,我将所有库从
WAR/WEB-INF/lib
移动到
EAR/lib

打开JSP时,现在出现以下错误:


Struts检测到未处理的异常:
信息:
未找到文件“/struts标记”
文件:org/apache/jasper/compiler/DefaultErrorHandler.java
行号:51

Stacktraces
org.apache.jasper.JasperException: File "/struts-tags" not found
...........
...........

如何解决此问题?

将库从WAR移动到EAR可能非常有用,例如,如果一个EAR中有多个WAR*,可以避免库的冗余。
*注意:对于Struts2中的多个WAR,您可能会在某些应用程序服务器中遇到问题:


要使(没有库的战争)生效,条件是:

  • WAR的
    META-INF/MANIFEST.MF
    必须包含链接库的类路径属性:

    Class-Path: lib/struts2-core-2.3.15.2.jar 
                lib/xwork-core-2.3.15.2.jar     
                lib/all_your_libraries_here...
    
  • EAR的
    application.xml
    必须包含:

    lib

  • 要在Maven上实现此条件,无需在EAR的POM.xml中声明WAR的POM.xml的每个库的依赖关系,您可以使用

    也就是说,问题中报告的问题是由于
    TLD
    查找仅在WAR上执行,EAR超出范围 (顺便说一句,没有办法在耳朵中查找TLD,但我希望被证明是错误的)

    解决方案:

    struts2-core-2.3.x.x.jar
    中提取
    struts tags.tld
    ,并将其置于(每个)
    WAR/WEB-INF
    文件夹下。这与jar中的任何类型的tld文件相关,而不仅仅是struts2

    在JSP中:

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

    将库从WAR移动到EAR可能非常有用,例如,如果一个EAR中有多个WAR*,则可以避免库的冗余。
    *注意:对于Struts2中的多个WAR,您可能会在某些应用程序服务器中遇到问题:


    要使(没有库的战争)生效,条件是:

  • WAR的
    META-INF/MANIFEST.MF
    必须包含链接库的类路径属性:

    Class-Path: lib/struts2-core-2.3.15.2.jar 
                lib/xwork-core-2.3.15.2.jar     
                lib/all_your_libraries_here...
    
  • EAR的
    application.xml
    必须包含:

    lib

  • 要在Maven上实现此条件,无需在EAR的POM.xml中声明WAR的POM.xml的每个库的依赖关系,您可以使用

    也就是说,问题中报告的问题是由于
    TLD
    查找仅在WAR上执行,EAR超出范围 (顺便说一句,没有办法在耳朵中查找TLD,但我希望被证明是错误的)

    解决方案:

    struts2-core-2.3.x.x.jar
    中提取
    struts tags.tld
    ,并将其置于(每个)
    WAR/WEB-INF
    文件夹下。这与jar中的任何类型的tld文件相关,而不仅仅是struts2

    在JSP中:

    <%@ taglib prefix="s" uri="/WEB-INF/struts-tags.tld" %>
    
    
    
    是的,这也是我想做的。是的,这也是我想做的。