首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CXF ClassNotFoundException: javax.ws.rs.MessageProcessingException

CXF ClassNotFoundException: javax.ws.rs.MessageProcessingException
EN

Stack Overflow用户
提问于 2015-03-15 06:02:02
回答 4查看 12.4K关注 0票数 5

我正在尝试启动一个jax ws & rs服务器端点,我可以使用rs-api 2.0 (和版本2.0.1)启动它们,但是当我尝试发出请求时,它会抛出异常。

代码语言:javascript
复制
java.lang.NoClassDefFoundError: javax/ws/rs/MessageProcessingException  

关于这个问题,还有一些其他的帖子,但这些建议对我不起作用。使用任何rs-api 2里程碑版本都会抛出问题。

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: javax/ws/rs/BadRequestException

我将其作为java应用程序运行,而不是webapp。有人有什么想法可以试试吗?谢谢

编辑:我的依赖项。我添加了jsr311,但这并没有改变MessageProcessingException

代码语言:javascript
复制
 <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-c3p0</artifactId>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </dependency>
    <dependency>
        <groupId>postgresql</groupId>
        <artifactId>postgresql</artifactId>
    </dependency>

    CXF: version 2.7.0
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxws</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxrs</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http-jetty</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-ws-security</artifactId>
    </dependency>

    rs-api version: 2.0
    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
    </dependency>

    jsr311 version: 1.1.1
    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>jsr311-api</artifactId>
    </dependency>
EN

回答 4

Stack Overflow用户

发布于 2016-12-17 21:48:31

面临同样的问题,但后来当我使用javax.ws.rs-api,的3.0.0-milestone2 2.1-m01和javax.ws.rs-api,的cxf-3.0.0-milestone2时,它工作得很棒。

代码语言:javascript
复制
<dependency>
    <groupId>javax.ws.rs</groupId>
    <artifactId>javax.ws.rs-api</artifactId>
    <version>2.1-m01</version>
</dependency>

<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-bundle</artifactId>
    <version>3.0.0-milestone2</version>
</dependency>
票数 3
EN

Stack Overflow用户

发布于 2015-07-22 00:06:17

代码语言:javascript
复制
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0-m10</version>
</dependency>

此版本支持javax.ws.rs.MessageProcessingException类。

票数 2
EN

Stack Overflow用户

发布于 2015-04-11 05:55:11

我使用没有JSON/JAXB提供程序的Jersey客户端执行对服务器的调用时遇到了同样的错误,当我配置丢弃提供程序时,问题就解决了。当我使用不兼容的POJO来封送对象以调用服务时,也会出现此错误。检查一下。我希望这能有所帮助。

当你有Classloader问题时,这个问题也会发生,检查你的maven依赖层次结构的jax-rs冲突。在我的例子中,我需要在pom.xml中使用可执行过滤器,如下所示

代码语言:javascript
复制
<exclusions>
    <exclusion>
        <artifactId>javax.ws.rs-api</artifactId>
        <groupId>javax.ws.rs</groupId>
    </exclusion>
</exclusions>

我在另一个使用javax.ws.rs-api依赖的项目中排除了cxf-bundle-jaxrs。使用cxf-rt-frontend-jaxrs的依赖关系:2.7.11就足够了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29054767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档