【问题标题】:WEB-INF/lib jars not found in JBoss 4.0.2 war deploy在 JBoss 4.0.2 战争部署中找不到 WEB-INF/lib jar
【发布时间】:2011-01-31 04:33:45
【问题描述】:

我有一个简单的 Web 应用程序(一个 jsp 和一个 servlet)文件,我已将其复制到 jboss-4.0.2/server/default/deploy 文件夹中,并且它已成功热部署,因为我可以访问 jsp 页面。但是,当我调用 servlet 时,我得到一个 java.lan.NoClassDefFoundError。

我怀疑war里面WEB-INF/lib目录下的jar包没有被捡到。

我的战争结构是:

META-INF  
  -->  MANIFEST.MF  
WEB-INF  
  -->  classes  
          --> ...*.classes  
  -->  lib  
          --> jcommon-1.0.16.jar  
              jfreechart-1.0.13.jar  
              servlet-api.jar  
index.jsp  

还有其他人在 JBoss 4 中遇到类加载问题吗?

非常感谢。

【问题讨论】:

  • 找不到什么类?它实际上是在 WEB_INF/lib 中的一个 jar 中提供的吗?
  • 是的,它在抱怨 jfreechart jar 中的一个类(肯定存在)。

标签: java classloader war web-inf jboss-4.0.x


【解决方案1】:

至少,您不应该在其中包含servlet-api.jar 文件。这些类都应该由 Servlet 容器(在您的情况下为 JBoss)提供。

【讨论】:

  • 我同意。它就在版本控制系统中。请注意,战争在 Tomcat 6 中运行良好。
  • (+1) servlet-api.jar 可能会在 JBoss 中导致奇怪的类加载问题,它的类加载器与 Tomcat 非常不同。
猜你喜欢
  • 1970-01-01
  • 2022-08-16
  • 1970-01-01
  • 2012-10-20
  • 2011-03-24
  • 2017-10-19
  • 1970-01-01
  • 1970-01-01
  • 2013-02-09
相关资源
最近更新 更多