Wildfly Undertow:jakarta.servlets.Servlet 未实现 javax.servlet.Servlet
Wildfly Undertow: jakarta.servlets.Servlet does not implement javax.servlet.Servlet
我正在尝试将一些 Servlet 从 javax 库迁移到 jakarta。更改非常简单,但是,当我尝试在 Wildfly 23 上 运行 它们时,我收到此错误消息:
Servlet JAX-WS-Service of type class com.sun.xml.ws.transport.http.servlet.WSServlet does not implement javax.servlet.Servlet
这个 servlet(用于 JAXWS,但这不是重点)和我自己的 servlet 都会出现这种情况,如下所示:
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
@WebServlet(name = "entrada", loadOnStartup = 1)
public class ServletEntrada extends HttpServlet
我正在使用 Jakarta servlet-api 5.0.0 版。 servlet 在 web.xml
文件中声明如下:
<servlet>
<servlet-name>ServletEntrada</servlet-name>
<servlet-class>com.telventi.framework.web.ServletEntrada</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
如果我在 web.xml
上留下这个声明,我会得到我提到的错误,ServletEntrada does not implement javax.servlet.Servlet
。
如果我从 web.xml
文件中删除此声明,则不会部署 servlet。尽管如此,它有 @WebServlet
注释,这应该使 Wildfly 自动发现 Servlet。
我想 undertow
检查每个在 web.xml
文件中声明的 servlet 是否扩展 javax.servlet.Servlet
,当然 jakarta HttpServlet
扩展 jakarta.servlets.Servlet
,不是 javax.servlets.Servlet
.
我做错了什么吗?
此致。
您需要使用 WildFly Preview 以获得 JakartaEE 9 支持,默认的 WildFly 发行版仍然是 Java EE / Jakarta EE 8
我正在尝试将一些 Servlet 从 javax 库迁移到 jakarta。更改非常简单,但是,当我尝试在 Wildfly 23 上 运行 它们时,我收到此错误消息:
Servlet JAX-WS-Service of type class com.sun.xml.ws.transport.http.servlet.WSServlet does not implement javax.servlet.Servlet
这个 servlet(用于 JAXWS,但这不是重点)和我自己的 servlet 都会出现这种情况,如下所示:
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
@WebServlet(name = "entrada", loadOnStartup = 1)
public class ServletEntrada extends HttpServlet
我正在使用 Jakarta servlet-api 5.0.0 版。 servlet 在 web.xml
文件中声明如下:
<servlet>
<servlet-name>ServletEntrada</servlet-name>
<servlet-class>com.telventi.framework.web.ServletEntrada</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
如果我在 web.xml
上留下这个声明,我会得到我提到的错误,ServletEntrada does not implement javax.servlet.Servlet
。
如果我从 web.xml
文件中删除此声明,则不会部署 servlet。尽管如此,它有 @WebServlet
注释,这应该使 Wildfly 自动发现 Servlet。
我想 undertow
检查每个在 web.xml
文件中声明的 servlet 是否扩展 javax.servlet.Servlet
,当然 jakarta HttpServlet
扩展 jakarta.servlets.Servlet
,不是 javax.servlets.Servlet
.
我做错了什么吗?
此致。
您需要使用 WildFly Preview 以获得 JakartaEE 9 支持,默认的 WildFly 发行版仍然是 Java EE / Jakarta EE 8