Java NoClassDefFound生成WAR文件时出错

Java NoClassDefFound生成WAR文件时出错,java,eclipse,glassfish,Java,Eclipse,Glassfish,我正在尝试为我的web模块构建.war文件并将其导出到autodeploy文件夹。但是,它总是在出现此错误时崩溃: 加载应用程序时发生异常:java.lang.IllegalStateException: ContainerBase.addChild:start:org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException:javax.servlet.ServletException: java.lang.N

我正在尝试为我的web模块构建.war文件并将其导出到autodeploy文件夹。但是,它总是在出现此错误时崩溃:

加载应用程序时发生异常:java.lang.IllegalStateException: ContainerBase.addChild:start:org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException:javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest

我使用EclipseLuna作为我的IDE,所有ApacheJAR都添加到我的构建路径中。是否有其他地方我必须添加它们才能工作


检查POM文件中是否存在HttpClient依赖项。 如果没有,您必须添加:

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.1</version>
</dependency>

org.apache.httpcomponents
httpclient
4.5.1

如果您没有使用maven,请下载jar并添加到您的类路径中。

您应该将apache jar放在
web项目的>Webcontent>web-INF>lib
文件夹中

您的代码似乎编译成功,因为它们位于项目的类路径上。但在运行时,web项目的类路径没有意义(它是用于编译时的)。在运行时,这些apache JAR应该位于运行时类路径上的某个位置(如WEB-INF/lib文件夹或EAR/lib文件夹或应用程序服务器的运行时类路径等)