2015-07-13 59 views
0

我想通过SSH和PSCP在Jetty服务器上部署.war文件。我使用Eclipse将我的项目导出为war文件。我得到一个'404错误在web.xml文件中此配置:码头战争部署,503或404错误取决于Web应用程序头

<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版本的工作,因为我得到一个503错误这个配置在我的web.xml文件:

<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作为选项)并取消选择“导出源文件”(使用此选项,我始终得到404错误我正在使用的webapp版本)。我需要在我的项目中使用码头库吗?我在这场战争中尝试过同样的事情:http://www.se.uni-hannover.de/pages/de:tutorials_helloworld_servlets并且可以立即访问它,Jetty似乎没有任何问题地部署它。看看这个测试文件的.war文件,我没有看到任何区别,只能假设我在某种程度上使用了一个功能,而这个功能根本不适用于webapp版本2.5。有什么我可以做的解决我的问题?我真的很感激任何形式的帮助:)

,如果需要任何版本的信息,我只能提供这个截图:

enter image description here

+1

查看Jetty服务器的日志。 503错误表明存在XML解析错误。 web.xml 2.5中的可能非法内容。日志中应该有一些解释。检查部署原始WAR时显示的消息。您使用支持servlet API v 3.1的Jetty 9.2,因此应该支持您在web.xml 3.0中使用的所有内容。 –

+0

https://i.imgur.com/kWeKQC9.png嗯,它是一些东西,现在我至少有一个特定的错误信息。有没有简单的方法来告诉我如何通过查看来解决这个问题?我只需要交换到JDK 1.7? – techNoob12

+1

这很简单。 Jetty 9.2支持Java 1.7。您正在编译您的代码到Java 1.8(这代表major.minor版本52.0)。在项目设置(Java编译器)中切换java合规性级别并再次尝试。 –

回答

0

看看Jetty服务器的日志。 503错误表明存在XML解析错误。 web.xml 2.5中的可能非法内容。日志中应该有一些解释。检查部署原始WAR时显示的消息。您使用支持servlet API v 3.1的Jetty 9.2,因此应该支持您在web.xml 3.0中使用的所有内容。

如果是major.minor 52.0错误,则类文件版本是原因。

Jetty 9.2支持Java 1.7。您正在编译您的代码到Java 1.8(这代表major.minor版本52.0)。在项目设置(Java编译器)中切换java合规性级别并再次尝试。