我已经将Java servlet Web应用程序部署到服务器上。显示了我的Web界面,但是当我尝试从我的网页注册/登录时HTTP Status 500 ? Internal Server Error exception like below
根本原因
java.lang.NoClassDefFoundError:org / apache / commons / codec / digest / DigestUtils com.mockup.Register.doPost(Register.java:38)javax.servlet.http.HttpServlet.service(HttpServlet.java:652)javax.servlet .http.HttpServlet.service(HttpServlet.java:733)org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)根本原因
java.lang.ClassNotFoundException:org.apache.commons.codec.digest.DigestUtils org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358)org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java :1180)com.mockup.Register.doPost(Register.java:38)javax.servlet.http.HttpServlet.service(HttpServlet.java:652)javax.servlet.http.HttpServlet.service(HttpServlet.java:733)org .apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
描述说
服务器遇到意外情况,阻止其满足请求。
pom.xml
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<packaging>bundle</packaging>
<name>JSON.simple</name>
<version>1.1.1</version>
<description>A simple Java toolkit for JSON</description>
<url>http://code.google.com/p/json-simple/</url>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<developers>
<developer>
<id>Yidong</id>
<name>Yidong Fang</name>
<roles>
<role>architect</role>
<role>developer</role>
</roles>
<timezone>+8</timezone>
</developer>
</developers>
<scm>
<connection>scm:svn:http://json-simple.googlecode.com/svn/trunk/</connection>
<developerConnection>scm:svn:http://json-simple.googlecode.com/svn/trunk/</developerConnection>
<url>http://json-simple.googlecode.com/svn/trunk/</url>
</scm>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.3.6</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.2</source>
<target>1.2</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
我在使用centos 8 OS的服务器上安装了tomcat 8.5。在本地计算机上一切正常,但是当我将其部署到服务器时,抛出此错误。对不起,如果我不能清楚地传达我的信息,但希望它能有所帮助
好了,stacktrace很容易说明:
java.lang.ClassNotFoundException: org.apache.commons.codec.digest.DigestUtils
当您在服务器上部署应用程序时,该应用程序无法加载上述类。可能是因为正在服务器中加载的apache commons jar版本与本地服务器中的版本不同,或者您未提供依赖项。请共享您的pom.xml进行更多分析,并共享整个stacktrace。
如果您使用的是maven,请确保已将其添加到pom中,例如:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句