在使用Azure服务器在Tomcat 7.0中部署.war之后,我遇到了此错误。但是,当我使用相同的文件.war在localhost XAMPP中部署时,它没问题。
这是 web.xml
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 版本=" 3.1">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<filter>
<filter-name>filter</filter-name>
<filter-class>servlet.filter</filter-class>
</filter>
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/buku.jsp</url-pattern>
<url-pattern>/profile.jsp</url-pattern>
<url-pattern>/updateBuku.jsp</url-pattern>
<url-pattern>/daftarBuku.jsp</url-pattern>
<url-pattern>/daftarPeminjaman.jsp</url-pattern>
<url-pattern>/pengguna.jsp</url-pattern>
<url-pattern>/updatePengguna.jsp</url-pattern>
<url-pattern>/penggunaBaru.jsp</url-pattern>
<url-pattern>/daftarPengguna.jsp</url-pattern>
<url-pattern>/daftarPengguna.jsp</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>logout</servlet-name>
<servlet-class>servlet.logout</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>logout</servlet-name>
<url-pattern>/logout</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>deleteBuku</servlet-name>
<servlet-class>servlet.deleteBuku</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>deleteBuku</servlet-name>
<url-pattern>/deleteBuku</url-pattern>
</servlet-mapping>
答案 0 :(得分:0)
我尝试使用本地环境创建新的Java Web App,并在Azure Tomcat Server上部署war文件,以重现使用web.xml的失败。
我在Azure日志文件“localhost.2015-xx-xx.log”中找到了以下内容。
2015年7月14日上午7:55:30 org.apache.catalina.core.StandardContext filterStart SEVERE:异常启动过滤器过滤器 java.lang.UnsupportedClassVersionError:servlet / filter:不支持 major.minor版本52.0(无法加载类servlet.filter)
我的本地Java版本是jdk1.8.0_45,但Azure上的java版本是1.7.0_51。因此,如果您的JDK版本高于Azure,则在服务器启动时将发生失败“FAIL - 上下文路径中的应用程序/无法启动”。
解决方案是您需要在Eclipse Project Properties(“Java Build Path” - &gt;“Edit(JRE System Library)”)中配置1.8到1.7之间的JDK1.8兼容模式。图片如下:
然后,您应该重建项目,导出war文件并再次将其部署到Azure中。 在按照上述步骤操作之前,请检查您的日志文件并确认您的预期。
注意:按照惯例,Java类型名称通常以大写字母开头。