Maven java.lang.NoSuchMethodError:org.jboss.resteasy.specimpl.BuiltResponse.getHeaders()Ljavax/ws/rs/core/MultivaluedMap

Maven java.lang.NoSuchMethodError:org.jboss.resteasy.specimpl.BuiltResponse.getHeaders()Ljavax/ws/rs/core/MultivaluedMap,maven,tomcat,servlets,jax-rs,Maven,Tomcat,Servlets,Jax Rs,我开发了restfulweb服务。我希望输出为XML类型(VXML)。我试着这样做。我使用Java8、Maven、Jersey和新技术。我从那个网址得到详细信息 这是我的请求捕获示例代码 @Path("/custemerservice") public interface CustemerService { @GET @Path("no/123") @Consumes({ MediaType.APPLICATION_FORM_URLENCODED }) @Prod

我开发了restfulweb服务。我希望输出为XML类型(VXML)。我试着这样做。我使用Java8、Maven、Jersey和新技术。我从那个网址得到详细信息

这是我的请求捕获示例代码

@Path("/custemerservice")
public interface CustemerService {
    @GET
    @Path("no/123")
    @Consumes({ MediaType.APPLICATION_FORM_URLENCODED })
    @Produces("text/html")
    public Response getWelcomeInfo();
}
下面是开发代码

@Service
public class CustemerServiceImpl implements CustemerService {
    @Override
    public Response getWelcomeInfo() {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("user", "usul");
        List<String> l = new ArrayList<String>();
        l.add("light saber");
        l.add("fremen clothes");
        map.put("items", l);
        return Response.ok(new Viewable("/cart.jsp", map)).build();
    }
}
@服务
公共类CustemerServiceImpl实现CustemerService{
@凌驾
公众响应getWelcomeInfo(){
Map Map=newhashmap();
map.put(“用户”、“usul”);
列表l=新的ArrayList();
l、 添加(“光剑”);
l、 添加(“弗里曼服装”);
地图。放置(“项目”,l);
返回Response.ok(新的可视(“/cart.jsp”,map)).build();
}
}
这是我的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">
    <display-name>MyApp</display-name>
    <listener>
        <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
    </listener>
    <listener>
        <listener-class>org.jboss.resteasy.plugins.spring.SpringContextLoaderListener</listener-class>
    </listener>
    <listener>
        <listener-class>com.sun.jersey.spi.container.servlet.ServletContainer</listener-class>
    </listener>
    <servlet>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
        <url-pattern>/resteasy/*</url-pattern>
    </servlet-mapping>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/spring-hibernate-resteasy.xml</param-value>
    </context-param>
    <context-param>
        <param-name>resteasy.servlet.mapping.prefix</param-name>
        <param-value>/resteasy</param-value>
    </context-param>
    <context-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>com.ezakus.web</param-value>
    </context-param>
    <context-param>
        <param-name>com.sun.jersey.config.property.JSPTemplatesBasePath</param-name>
        <param-value>/WEB-INF/jsp</param-value>
    </context-param>
    <context-param>
        <param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
        <param-value>/(resources|(WEB-INF/jsp))/.*</param-value>
    </context-param>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>

</web-app>

MyApp
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
org.jboss.resteasy.plugins.spring.SpringContextLoaderListener
com.sun.jersey.spi.container.servlet.ServletContainer
javax.ws.rs.core.Application
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
javax.ws.rs.core.Application
/放松/*
上下文配置位置
WEB-INF/spring-hibernate-resteasy.xml
resteasy.servlet.mapping.prefix
/放松
com.sun.jersey.config.property.packages
com.ezakus.web
com.sun.jersey.config.property.JSPTemplatesBasePath
/WEB-INF/jsp
com.sun.jersey.config.property.WebPageContentRegex
/(参考资料|(WEB-INF/jsp))/*
index.html
我编辑pom.xml来进行部件开发

        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.9</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey.contribs</groupId>
            <artifactId>jersey-multipart</artifactId>
            <version>1.9</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.jaxrs</groupId>
            <artifactId>jackson-jaxrs-json-provider</artifactId>
            <version>2.5.1</version>
        </dependency>

        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
            <scope>compile</scope>
        </dependency>

泽西岛
泽西服务器
1.9
com.sun.jersey.contribs
泽西多部分
1.9
com.fasterxml.jackson.jaxrs
jackson jaxrs json提供程序
2.5.1
jstl
jstl
1.2
编译
塔格利布
标准
1.1.2
编译
我尝试在eclipse中使用Tomcat8运行项目。我遇到了这样的错误如何解决它

HTTP状态500-Servlet执行引发异常

类型异常报告

消息Servlet执行引发异常

说明服务器遇到阻止它的内部错误 不履行这一要求

例外情况

javax.servlet.ServletException:servlet执行引发异常 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

根本原因

java.lang.NoSuchMethodError: org.jboss.resteasy.specimpl.BuiltResponse.getHeaders()Ljavax/ws/rs/core/MultivaluedMap; org.jboss.resteasy.core.ServerResponseWriter.setDefaultContentType(ServerResponseWriter.java:186) org.jboss.resteasy.core.ServerResponseWriter.writenomapsresponse(ServerResponseWriter.java:46) org.jboss.resteasy.core.SynchronousDispatcher.WriterResponse(SynchronousDispatcher.java:427) org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:376) org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179) org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220) org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56) org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51) javaservlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

注意,根本原因的完整堆栈跟踪在Apache中可用 Tomcat/8.0.23日志。ApacheTomcat/8.0.23

这是eclipse日志


谢谢

看起来您使用的是
resteasy jaxrs.jar的版本1
。方法
getHeaders()Ljavax/ws/rs/core/MultivaluedMap在版本2中引入


因此,您必须更改为
restaysyjaxrs.jar
的版本2,该版本包含类
org.jboss.restfeasy.specimpl.BuiltResponse

它无法识别@products(“text/html”)注释


使用Response.status(Response.status.OK).type(MediaType.TEXT\u HTML)

是否从浏览器调用此API并获取此异常?那是什么网址?这是浏览器获取Url。但是,把它当作错误放出去。@ThilinaSampath请看第二段。我试着这样做,我的整个项目都不起作用了。如何解决它。@ThilinaSampath您是否已将依赖项添加到pom.xml中?@ThilinaSampath您使用哪个版本的
javax.ws.rs.jar
呢?/WEB-INF/lib/resteasy-jaxrs-3.0.8.Final.jar这就是我用于resteasy-jaxrs.jar的jar