2015-07-13 96 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合規性級別並再次嘗試。