首页 > 解决方案 > 类型类“myclass”的 Servlet cxf 不实现 javax.servlet.Servlet

问题描述

我无法在 Wildfly 10 上部署我的项目。问题是这样的:

Failed to start service jboss.undertow.deployment.default-server.default-host./SoapSd.UndertowDeploymentInfoService: org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./SoapSd.UndertowDeploymentInfoService: Failed to start service
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException: UT010009: Servlet cxf of type class it.unibo.services.UniboServices does not implement javax.servlet.Servlet
        at io.undertow.servlet.api.ServletInfo.<init>(ServletInfo.java:98)
        at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.createServletConfig(UndertowDeploymentInfoService.java:725)
        at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.start(UndertowDeploymentInfoService.java:281)
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
        ... 3 more

如果我从我的项目中删除 web.xml 并部署它,它可以工作,但 wsdl 是“未找到”。

这是我的 web.xml (在 src/main/webapp/WEB-INF 上):

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>SoapSd</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
    <servlet>
        <description>Apache CXF Endpoint</description>
        <display-name>cxf</display-name>
        <servlet-name>cxf</servlet-name>
        <servlet-class>it.unibo.services.UniboServices</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>cxf</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>60</session-timeout>
    </session-config>

    <persistence-context-ref>
        <persistence-context-ref-name>persistence/LogicalName</persistence-context-ref-name>
        <persistence-unit-name>unibodb</persistence-unit-name>
    </persistence-context-ref>
</web-app>

这里是我的 pom(和我的项目): pom

有什么问题?我究竟做错了什么?

标签: javamavendeploymentcxfwildfly

解决方案


推荐阅读