java - Jetty war 部署,503 或 404 错误,具体取决于 Web 应用程序 header

标签 java eclipse web-applications jetty war

我正在尝试通过 SSH 和 PSCP 在 Jetty 服务器上部署 .war 文件。我正在使用 Eclipse 将项目导出到 war 文件。我在 web.xml 文件中使用此配置时收到“404 错误”:

 <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 作为选项)并取消选择“导出源文件”(使用此选项,无论我使用哪个 Web 应用程序版本,我总是会收到 404 错误)。我的项目中是否需要 Jetty 库或类似的东西?我在这场 war 中尝试了同样的事情:http://www.se.uni-hannover.de/pages/de:tutorials_helloworld_servlets并且可以立即访问它,而且 Jetty 似乎部署它没有任何问题。查看此测试文件的 .war 文件,我没有看到任何差异,只能假设我使用的功能根本无法与 webapp 版本 2.5 配合使用。我可以做些什么来解决我的问题吗?我真的很感激任何形式的帮助:)

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

enter image description here

最佳答案

查看 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 合规性级别,然后再尝试一次。

关于java - Jetty war 部署,503 或 404 错误,具体取决于 Web 应用程序 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31380424/

相关文章:

java - Joda 可以使用阿拉伯数字格式化阿拉伯语言区域的日期吗?

java - 如何在 IntelliJ 中调试多线程应用程序?

java - 为什么在 android ArrayAdapter 中找不到我的 textView?

ios - 允许在 Web 应用程序中以独立模式共享 iOS 中的文件

java - Vaadin 流自定义样式

java - Spring 启动: MockMvc returning empty body for POST request

android - 警告 : Keybinding conflicts occurred in Eclipse ADT

java - maven clean 可以删除已删除的依赖吗?

php - Nginx 使用 NodeJS 和 Apache

eclipse - 在 Eclipse 中将 "exploded"文件夹部署到 Tomcat