gpt4 book ai didi

servlets - Servlet 类 org.reSTLet.ext.servlet.ServerServlet 不是 jakarta.servlet.Servlet

转载 作者:行者123 更新时间:2023-12-04 00:53:59 33 4
gpt4 key购买 nike

什么可能导致此错误?

    Caused by: jakarta.servlet.UnavailableException: Servlet class org.restlet.ext.servlet.ServerServlet is not a jakarta.servlet.Servlet
at org.eclipse.jetty.servlet.ServletHolder.checkServletType (ServletHolder.java:499)
at org.eclipse.jetty.servlet.ServletHolder.doStart (ServletHolder.java:377)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:96)
at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$2 (ServletHandler.java:699)
at java.util.stream.SortedOps$SizedRefSortingSink.end (SortedOps.java:357)
at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:485)
at java.util.stream.AbstractPipeline.wrapAndCopyInto (AbstractPipeline.java:474)
at java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining (StreamSpliterators.java:312)
at java.util.stream.Streams$ConcatSpliterator.forEachRemaining (Streams.java:735)
at java.util.stream.ReferencePipeline$Head.forEach (ReferencePipeline.java:658)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
我正在运行来自 mvn jetty:run 的网络应用程序插入

最佳答案

jakarta.servlet.UnavailableException: Servlet class [...] is not a jakarta.servlet.Servlet

jakarta.servlet.Servlet是 Servlet API 5.0 版的一部分,而 5.0 版又是 Jakarta EE 9 版的一部分。因此这只能意味着 [...] 中指定的 servlet 类不是针对 Servlet API 5.0 版编译的,而是针对旧版本编译的。
您有 2 个选择:
  • 升级 [...] 中指定的 servlet 类到 Servlet API 版本 5.0 兼容的一个。
  • 或者,将 servlet 容器从 Servlet API 版本 5.0 降级到以前的版本,至少与 [...] 中指定的 servlet 类的目标 Servlet API 版本相匹配。 .

  • 技术原因是在从Java/Jakarta EE 8 到Jakarta EE 9 的步骤中 javax.*软件包已重命名为 jakarta.*包。因此,自 Jakarta EE 9 以来不再具有向后兼容性。
    当我们将上述事实转化为您的具体情况时,您唯一的选择是将 Jetty servlet 容器降级到 Servlet 4.0 兼容版本。这是因为第 3 方库“ReSTLet”目前根本没有可用的 Servlet 5.0 兼容版本。根据 Jetty 的版本表,Jetty 11.x 是 Jakarta EE 9 的目标,因此您需要 Jetty 10.x 或更低版本。
    或者,您可以完全放弃 ReSTLet 而使用 Jersey。它目前有一个 Jakarta EE 9 兼容版本可用。
    也可以看看:
  • Jetty versions
  • Getting java.lang.ClassNotFoundException: jakarta.servlet.Filter on Maven/Jersey web service while running on Tomcat 9
  • 关于servlets - Servlet 类 org.reSTLet.ext.servlet.ServerServlet 不是 jakarta.servlet.Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64117697/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com