在WAR中部署的相关项目,但servlet类找不到它的classdef

时间:2015-10-15 19:29:20

标签: java-ee

经过数小时的测试和谷歌搜索无法解决这个问题。

我使用Eclipse(Luna和Mars)创建一个servlet(这里是用于演示的TestServlet),它使用另一个项目中的类(TestBusinessClass)。包含相关项目以在Web部署程序集对话框中进行部署。可以在WAR文件中找到相关项目的jar:

C:\tmp>jar -tf TestService.war
META-INF/MANIFEST.MF
WEB-INF/lib/TestBusinessLogic.jar
META-INF/
WEB-INF/
WEB-INF/classes/
WEB-INF/classes/mvu/
WEB-INF/classes/mvu/test/
WEB-INF/classes/mvu/test/TestServlet.class
WEB-INF/lib/
WEB-INF/web.xml

以下是TestBusinessLogic.jar的内容:

C:\tmp\TestService\WEB-INF\lib>jar -tf TestBusinessLogic.jar
META-INF/MANIFEST.MF
META-INF/
mvu/
mvu/test/
mvu/test/BusinessLogicClass.class

但是,当使用J2EE预览或Tomcat运行时,我得到了

java.lang.NoClassDefFoundError: mvu/test/BusinessLogicClass
    at mvu.test.TestServlet.doGet(TestServlet.java:31) 

调用servlet时。

据我所知,我在网上找到的东西,WEB-INF / lib目录中的jar应该自动沿着web应用程序的类加载器的搜索路径,没有明确的配置。我是对的吗?

我错过了什么?

0 个答案:

没有答案