我正在尝试通过SSH和PSCP在Jetty服务器上部署.war文件。我正在使用Eclipse将我的项目导出到war文件中。我在web.xml文件中遇到了'404 Error with this configuration:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
但是它似乎与2.5版一起使用,因为我的web.xml文件中出现了这个配置的503错误:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
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">
考虑到我的.war导出选项,我取消选择“优化特定服务器运行时”(因为我只选择了Tomcat)并取消选择“导出源文件”(使用此选项,无论哪个webapp,我总是得到404错误我正在使用的版本)。我的项目中是否需要Jetty库或类似的东西?我在这场战争中尝试了同样的事情:http://www.se.uni-hannover.de/pages/de:tutorials_helloworld_servlets并且可以立即访问它,Jetty似乎没有任何问题地部署它。查看此测试文件的.war文件,我没有看到任何差异,只能假设我在某种程度上使用的功能根本不适用于webapp版本2.5。有什么办法可以解决我的问题吗?我真的很感激任何帮助:)
如果需要任何版本信息,我只能提供此屏幕截图:
答案 0 :(得分:0)
查看Jetty服务器的日志。 503错误表明存在XML解析错误。可能是web.xml 2.5中的非法内容。日志中应该有一些解释。检查部署原始WAR时显示的消息。您使用支持servlet API v 3.1的Jetty 9.2,因此应支持您在web.xml 3.0中使用的所有内容。
如果出现{{1}}错误,则会导致类文件版本。
Jetty 9.2支持Java 1.7。您正在将代码编译为Java 1.8(这代表major.minor版本52.0)。在项目设置(Java Compiler)中切换java合规性级别,然后再试一次。