这是问题How to use Jetty Quickstart with maven-jetty-plugin?的扩展。根据文档https://www.eclipse.org/jetty/documentation/9.4.x/quickstart-webapp.html,在“配置”部分中,
Web应用程序必须是org.eclipse.jetty.quickstart.QuickStartWebApp的实例,而不是普通的org.eclipse.jetty.webapp.WebAppContext。
我的问题是我需要在哪里配置它? web.xml或jetty-env.xml或任何其他特殊位置。
文档还说,
autoPreconfigure (真假)。如果为true,则首次运行Web应用程序时,将在部署Web应用程序之前生成WEB-INF / quickstart-web.xml。随后的运行将使用先前生成的快速入门文件。
我在这里感到困惑,如果我将其设置为true(假设我必须在jetty-env.xml中定义它),谁将生成quickstart-web.xml,它是服务器在运行时生成的还是我们必须创建WEB-INF目录下一个名为quickstart-web.xml的xml文件? 如果我们创建quickstart-web.xml,那么web.xml会发生什么?我们仍然需要web.xml还是将其替换为quickstart-web.xml。
根据我的理解,我已经像
那样配置了jetty-env.xml。<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE Configure PUBLIC -//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd">
<Configure class="org.eclipse.jetty.quickstart.QuickStartWebApp">
<Set name="autoPreconfigure">true</Set>
</Configure>
,并将web.xml和jetty-env.xml保留在WEB-INF目录下。现在,当我运行服务器时,出现以下错误,
java.lang.IllegalArgumentException: Object of class 'org.eclipse.jetty.webapp.WebAppContext' is not of type 'org.eclipse.jetty.quickstart.QuickStartWebApp'. in file:/C:/Users/....
现在,如果必须使用快速入门功能以及此处缺少的内容,那么我很困惑在哪里调试。在网上找不到与此有关的任何帮助,将不胜感激任何帮助/指南。
注意: :我正在使用码头运输( jetty-distribution-9.4.18.v20190429 )作为部署我的独立服务器application.war文件。