Java servlet 应用程序可以在我的本地电脑上运行,但不能用于我的服务器开发
Java servlet app worked on my pc local but not working on my server development
我已经将我的 java servlet 网络应用程序部署到我的服务器上。显示了我的网络界面,但是当我尝试从我的网页 register/login 时,它抛出了 HTTP Status 500 ? Internal Server Error exception like below
Root Cause
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)
Root Cause
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)
描述说
The server encountered an unexpected condition that prevented it from
fulfilling the request.
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。在我的本地计算机上一切正常,但是当我部署到我的服务器时它抛出了这个错误。对不起,如果我不能清楚地传达我的信息,但希望它能帮助你
好吧,堆栈跟踪非常容易解释:
java.lang.ClassNotFoundException: org.apache.commons.codec.digest.DigestUtils
当您在服务器上部署应用程序时,应用程序无法加载上述内容 class。这可能是因为正在加载的 apache commons jar 的版本在您的服务器中与在您的本地不同,或者您没有提供依赖项。请分享您的 pom.xml 以进行更多分析,并分享整个堆栈跟踪。
如果您使用的是 Maven,请确保将其添加到您的 pom 中,例如:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
我已经将我的 java servlet 网络应用程序部署到我的服务器上。显示了我的网络界面,但是当我尝试从我的网页 register/login 时,它抛出了 HTTP Status 500 ? Internal Server Error exception like below
Root Cause
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) Root Cause
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)
描述说
The server encountered an unexpected condition that prevented it from fulfilling the request.
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。在我的本地计算机上一切正常,但是当我部署到我的服务器时它抛出了这个错误。对不起,如果我不能清楚地传达我的信息,但希望它能帮助你
好吧,堆栈跟踪非常容易解释:
java.lang.ClassNotFoundException: org.apache.commons.codec.digest.DigestUtils
当您在服务器上部署应用程序时,应用程序无法加载上述内容 class。这可能是因为正在加载的 apache commons jar 的版本在您的服务器中与在您的本地不同,或者您没有提供依赖项。请分享您的 pom.xml 以进行更多分析,并分享整个堆栈跟踪。
如果您使用的是 Maven,请确保将其添加到您的 pom 中,例如:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>