1

我目前正在编写一个 Apache Camel 项目,该项目使用 CXF 公开一些 REST 端点和 Kie Remote Client 以与 BPMS 交互。但是,当我尝试将 Kie Remote Client 依赖项包含到我的 pom 文件中时,我遇到了依赖项冲突(不知道如何描述它)。

这是我目前的pom文件:

<dependencies>
        <!-- Camel Dependencies -->
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-core</artifactId>
            <version>2.15.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-cxf</artifactId>
            <version>2.15.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-spring</artifactId>
            <version>2.15.2</version>
        </dependency>

        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-jackson</artifactId>
            <version>2.15.2</version>
        </dependency>

        <!-- Spring Web -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-jaxrs</artifactId>
            <version>1.9.12</version>
        </dependency>

    <!--         <dependency>
            <groupId>org.kie</groupId>
            <artifactId>kie-parent-with-dependencies</artifactId>
            <version>6.2.0.Final-redhat-4</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

        <dependency>
            <groupId>org.kie.remote</groupId>
            <artifactId>kie-remote-client </artifactId>
            <version>6.2.0.Final-redhat-4</version>
            <scope>provided</scope>
        </dependency> -->
    </dependencies>

当我尝试部署我的项目时,我遇到了一些属性异常:

Caused by: org.springframework.beans.PropertyBatchUpdateException; nested     PropertyAccessExceptions (2) are:
PropertyAccessException 1:  org.springframework.beans.MethodInvocationException: Property 'serviceBeans'  threw exception; nested exception is java.lang.NoSuchMethodError:  org.apache.cxf.jaxrs.JAXRSServerFactoryBean.addToBeans(Ljava/util/Collection;Ljava/lang/Object;)V

PropertyAccessException 2:  org.springframework.beans.MethodInvocationException: Property 'providers' threw  exception; nested exception is java.lang.NoSuchMethodError:  org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean.addToBeans(Ljava/util/Collection;Lj ava/lang/Object;)V
at  org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractProp ertyAccessor.java:121) [spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at  org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75) [spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.appl yPropertyValues(AbstractAutowireCapableBeanFactory.java:1510) [spring-beans- 4.1.6.RELEASE.jar:4.1.6

有谁知道这个错误的根本原因是什么?谢谢!

编辑:我确实找到了解决此问题的临时解决方法。如果我将我的骆驼版本降级到 2.13.2,我的 spring 版本降级到 3.2.8-RELEASE,那么 apache-cxf 版本似乎就可以了。但是,我想保留 2.15.2 骆驼中的许多新功能。有人知道 kie.remote.client 有什么好的替代品吗?

4

1 回答 1

0

Kie 远程​​客户端添加 jaxb-impl-2.2.5.jar 依赖项,与来自 cxf 的 jaxb-core-2.2.11.jar 和 jaxb-impl-2.2.11.jar 冲突。

只需从部署中删除 jaxb-impl。(或依赖于 kie-client 使用 maven 排除)它对我有用。

于 2016-03-17T16:11:03.257 回答