java.lang.ClassCastException: org.eclipse.jetty.webapp.WebAppContext 无法转换为 org.eclipse.jetty.maven.plugin.JettyWebAppContext

java.lang.ClassCastException: org.eclipse.jetty.webapp.WebAppContext cannot be cast to org.eclipse.jetty.maven.plugin.JettyWebAppContext

在使用 jetty-maven-plugin 时从 jetty 8 迁移到 jetty 9,由于 class 转换异常,应用程序无法加载:

java.lang.ClassCastException: org.eclipse.jetty.webapp.WebAppContext cannot be cast to org.eclipse.jetty.maven.plugin.JettyWebAppContext

将上下文处理程序从 WebAppContext 更改为 JettyWebApp 上下文。

<contextHandlers>
                        <contextHandler implementation="org.eclipse.jetty.maven.plugin.JettyWebAppContext">
                            <war>../../flieName.war</war>
                            <contextPath>/yourPath</contextPath>
                        </contextHandler>
                        <contextHandler implementation="org.eclipse.jetty.maven.plugin.JettyWebAppContext">
                            <war>../../yourWar.war</war>
                            <contextPath>/anotherPath</contextPath>
                        </contextHandler>
                        <contextHandler implementation="org.eclipse.jetty.maven.plugin.JettyWebAppContext">
                            <war>../../../anotherApp.war</war>
                            <contextPath>/oneMorePath</contextPath>
                        </contextHandler>

也对你的码头做同样的改变-context.xml

<Configure class="org.eclipse.jetty.maven.plugin.JettyWebAppContext">