我想将CXF和Spring集成到一个简单的JAX-WS中。下面是maven pom文件。
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>2.7.6</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>2.7.6</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>2.7.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
</dependency>
</dependencies>
当我使用maven命令运行jetty时。它有一些例外:
spring java.lang.NoSuchMethodError: org.springframework.core.convert.converter.ConverterRegistry.addConverter(Ljava/lang/Class;Ljava/lang/Class;Lorg/springframework/core/convert/converter/Converter;)V
似乎问题是CXF和Spring依赖问题。当我转到目标文件夹并发现有两个版本的Spring与我指定的版本和版本CXF依赖。 3.0.7?
如果我将弹簧版本更改为较低版本并且可以正常工作。
我只是想知道如果我还想使用最新版本的Spring,有没有办法解决这个问题?
答案 0 :(得分:0)
我想我找出原因。我还需要把spring-core作为maven依赖。因为异常中的转换器属于核心依赖。
所以当maven jetty运行时,有两个版本的spring,spring-core使用的是3.0.7,它是使用CXF,另一个是3.2.3,这是我指定的。
我需要在项目中与spring版本保持一致。