当前位置: 首页 > 面试题库 >

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

宗政法
2023-03-14
问题内容

在Java EE项目中,我将所有库从WAR/WEB-INF/lib移到EAR/lib

打开一个JSP,现在出现此错误:

Struts已检测到未处理的异常:
消息:
找不到文件“ / struts-tags”
文件:org / apache / jasper / compiler / DefaultErrorHandler.java
行号:51

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

如何解决这个问题?


问题答案:

将库从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.tldstruts2-core-2.3.x.x.jar,并将其放置在(各)WAR/WEB-INF
文件夹。 这与JAR中的任何类型的TLD文件有关,而不仅与Struts2有关。

在JSP中:

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


 类似资料:
  • 我在同一个weblogic服务器上部署了两个项目: 带有EJB(@本地,@无状态)的耳朵存档 一个战争档案 我想从war档案中的一个类访问EJB。这通常是可能的吗?怎样

  • 我正在尝试使用Gradle构建一个ear。 我的项目树如下所示: 我注意到war插件的捆绑样例也有同样的问题...提前致谢

  • 问题内容: 我们有无数战争的解决方案。从全部使用冬眠和春季的意义上讲,战争是相似的。这意味着每次战争中都有许多相同的罐子。这成为一个问题,因为耳朵的大小开始不成比例地增长。 我想使用Maven来计算依赖关系,并将多次战争通用的所有jar放到EAR的根部。 我尝试使用j2ee原型(maven-archetype-j2ee-simple)来组织项目,但所有战争仍然与WEB-INF / lib中的依赖项

  • 我正在WebLogic 10.3上部署一个应用程序并收到一个异常: 我尝试了所有的解决方案来解决类似的问题1和类似的问题2。 我在其他很多地方也得到了同样的解决方案,但由于一些限制,我无法应用它们或它们不起作用。 现在我需要使用WLS Cat来检查应用程序。但当我试图进入 主机名:portNumber/wls cat/。我无法访问(错误404),我在oracle博客中找到了wls cat。WLU

  • 我正在尝试将应用程序部署到weblogic 12c上。应用程序不是分解的,即它是未打包的ear文件。 例外-java。lang.ClassNotFoundException:org。阿帕奇。cxf。庇护类型AegisType公司 注意:无论是否爆炸,Weblogic 10都不会遇到相同应用程序的任何问题。Weblogic 12C能够部署爆炸的应用程序而没有任何问题。

  • 对于这种类型的错误,我在cocoapods中遵循了faq,似乎没有任何工作。任何帮助都很感激。 整个错误如下所示 Ld build/products/debug-iphonesimulator/komunety.app/komunety normal i386 cd/users/lawrenceflancbaum/dropbox/appledev/appdev/komunety export ip