java - Cxf + Spring-boot (org.apache.cxf.bus.extension.ExtensionException)

标签 java spring spring-boot cxf

我有带有 cxf 的 spring-boot 应用程序。当我运行它时,我得到一个异常:

[2017.03.01 17:37:35.839 MSK] [DEBUG] [o.a.c.c.s.ConfigurerImpl] [main]
[Could not determine bean name for instance of class org.apache.cxf.wsdl11.WSDLManagerImpl.]
[2017.03.01 17:37:35.841 MSK] [DEBUG] [o.a.c.r.DefaultResourceManager]
[main] [resolving resource <org.apache.cxf.wsdl11.WSDLManagerImpl/bus> type <interface org.apache.cxf.Bus>]
[2017.03.01 17:37:35.842 MSK] [DEBUG] [o.a.c.r.DefaultResourceManager]
[main] [resolving resource <null> type <interface org.apache.cxf.Bus>]
[2017.03.01 17:37:35.870 MSK] [DEBUG] [o.a.c.b.e.Extension] [main] [Could not load optional extension org.apache.cxf.binding.xml.wsdl11.XMLWSDLExtensionLoader]

org.apache.cxf.bus.extension.ExtensionException: Could not create object of extension class org.apache.cxf.binding.xml.wsdl11.XMLWSDLExtensionLoader.
    at org.apache.cxf.bus.extension.Extension.load(Extension.java:241)
    at org.apache.cxf.bus.extension.ExtensionManagerImpl.loadAndRegister(ExtensionManagerImpl.java:213)
    at org.apache.cxf.bus.extension.ExtensionManagerImpl.getBeansOfType(ExtensionManagerImpl.java:348)
    at org.apache.cxf.bus.spring.SpringBeanLocator.getBeansOfType(SpringBeanLocator.java:153)
    at org.apache.cxf.wsdl11.WSDLManagerImpl.setBus(WSDLManagerImpl.java:122)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1426)

跳过一些行和
Caused by: java.lang.NegativeArraySizeException: null
    at org.objectweb.asm.Frame.a(Unknown Source)
    at org.objectweb.asm.MethodWriter.visitMaxs(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)

cxf 和 spring-boot 的依赖
<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-databinding-jaxb</artifactId>
    <version>${cxf.version}</version>
  </dependency>
  <dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-management</artifactId>
    <version>${cxf.version}</version>
  </dependency>
  <dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
    <version>${cxf.version}</version>
  </dependency>
  <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web-services</artifactId>
</dependency>

Spring Boot - 1.4.1
CXF - 3.1.7

请帮忙!!我怎样才能找到错误?

最佳答案

看来你有多个 asm项目中的依赖项。您可以通过执行 mvn dependency:tree 找到它们。从根项目,或通过在项目构建后查看工件。
要与 CXF 3.x 一起使用,您应该具有依赖性 org.ow2.asm:asm:jar:5.x.x和更大。

希望有帮助。

关于java - Cxf + Spring-boot (org.apache.cxf.bus.extension.ExtensionException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42535788/

相关文章:

java - DefaultJmsListenerContainerFactory - 并发 - 每个队列的线程数在什么时候开始增加?

java - 使用 Spring Security 登录页面进行表单验证

java - 将 Spring Batch 导出到 JAR 时如何外部化 XML 文件

java - 获取ElasticsearchStatusException和ElasticsearchResponseException?

java - 有效地找到给定数字的最小幂

java - 如何将字符串值从一帧获取到另一帧

java - 即使未在 Spring Boot 配置文件中指定,也会在 Spring Boot 中加载方法

java - Springboot 2 CrudRepository.save总是抛出ConstraintViolationException

java - 每当我打开 Firefox 时,让我的计算机提示我预定的问题

java - 在 Java 中将字符串解析为 Map