ENV:EC2上带有Tomcat6的Amazon Linux。
我在Eclipse上创建了一个带有index.jsp的简单动态Web项目,将其加载到云端并正确显示。但是,一旦我创建了一个servlet并执行相同的过程,该页面就说服务不可用,并提供错误代码503。
我试图删除web.xml中的servlet标记,然后再次运行。
为了澄清,我有两个现有的动态网络项目,我想在云上部署。两者都在本地Tomcat6上正常运行。
编辑:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Test</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>Se</display-name>
<servlet-name>Se</servlet-name>
<servlet-class>Servlet.Se</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Se</servlet-name>
<url-pattern>/Se</url-pattern>
</servlet-mapping>
</web-app>
上面是我的web.xml,如果删除servlet,servlet-mapping块,它会再次运行。
答案 0 :(得分:2)
UnsupportedClassVersionError
通常会发生,因为您使用的是较新的JDK版本进行编译而不是运行时使用的版本。尝试使用Tomcat使用的相同JDK版本进行编译。
答案 1 :(得分:1)
严重:部署Web应用程序存档Test.war时出错 java.lang.UnsupportedClassVersionError:Servlet / Se:不支持的major.minor版本51.0(无法加载类Servlet.Se)
当您在不同版本的JRE上运行应用程序时,会发生此类错误,而不是最初用于或编译的JRE。
51.0
意味着它期待JRE版本7并且(最有可能的是)您必须在ec2服务器上的JRE 6上运行它。首先使用命令
$ java -version
并确保它与最初编译代码的那个匹配。您最有可能在JRE7和ec2服务器上编译代码,JRE6已配置,您可能希望在ec2服务器上升级它,或在您的计算机上降级。