java - Swagger 启动 tomcat 时抛出 UncheckedExecutionException

标签 java spring-mvc swagger doc

我正在尝试将 swagger 集成到我们的服务中,但遇到有关属性 url 的冲突 getter 定义的异常。我做了以下事情: 1. 确保我只有一个版本的 stripe lib。 2.确保Jackson版本继承自swagger。 3. 我尝试从组件扫描中排除冲突类,但没有成功。 请建议我可以尝试解决什么问题。任何帮助表示感谢。

2016-03-03T17:22:29,345Z [RMI TCP Connection(3)-127.0.0.1] ERROR o.s.web.context.ContextLoader - Context initialization failed
com.google.common.util.concurrent.UncheckedExecutionException: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgumentException: Conflicting getter definitions for property "url": com.stripe.model.StripeCollectionAPIResource#getUrl(0 params) vs com.stripe.model.StripeCollectionAPIResource#getURL(0 params)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2203) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache.get(LocalCache.java:3937) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4830) ~[guava-18.0.jar:na]
    at springfox.documentation.schema.CachingModelDependencyProvider.dependentModels(CachingModelDependencyProvider.java:55) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelProvider.dependencies(DefaultModelProvider.java:113) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.CachingModelProvider.dependencies(CachingModelProvider.java:61) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.spring.web.scanners.ApiModelReader.populateDependencies(ApiModelReader.java:132) ~[springfox-spring-web-2.3.1.jar:2.3.1]
    at springfox.documentation.spring.web.scanners.ApiModelReader.read(ApiModelReader.java:76) ~[springfox-spring-web-2.3.1.jar:2.3.1]
    at springfox.documentation.spring.web.scanners.ApiListingScanner.scan(ApiListingScanner.java:88) ~[springfox-spring-web-2.3.1.jar:2.3.1]
    at springfox.documentation.spring.web.scanners.ApiDocumentationScanner.scan(ApiDocumentationScanner.java:69) ~[springfox-spring-web-2.3.1.jar:2.3.1]
    at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.scanDocumentation(DocumentationPluginsBootstrapper.java:101) ~[springfox-spring-web-2.3.1.jar:2.3.1]
    at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.onApplicationEvent(DocumentationPluginsBootstrapper.java:87) ~[springfox-spring-web-2.3.1.jar:2.3.1]
    at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.onApplicationEvent(DocumentationPluginsBootstrapper.java:50) ~[springfox-spring-web-2.3.1.jar:2.3.1]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:151) ~[spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:128) ~[spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:331) ~[spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:773) ~[spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:483) ~[spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) ~[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) ~[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4810) [catalina.jar:8.0.30]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5255) [catalina.jar:8.0.30]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.0.30]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) [catalina.jar:8.0.30]
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) [catalina.jar:8.0.30]
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) [catalina.jar:8.0.30]
    at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1675) [catalina.jar:8.0.30]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_79]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_79]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_79]
    at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_79]
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) [tomcat-coyote.jar:8.0.30]
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.7.0_79]
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.7.0_79]
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:465) [catalina.jar:8.0.30]
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:415) [catalina.jar:8.0.30]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_79]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_79]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_79]
    at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_79]
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) [tomcat-coyote.jar:8.0.30]
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.7.0_79]
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.7.0_79]
    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) [na:1.7.0_79]
    at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) [na:1.7.0_79]
    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) [na:1.7.0_79]
    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420) [na:1.7.0_79]
    at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) [na:1.7.0_79]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_79]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_79]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_79]
    at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_79]
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) [na:1.7.0_79]
    at sun.rmi.transport.Transport$2.run(Transport.java:202) [na:1.7.0_79]
    at sun.rmi.transport.Transport$2.run(Transport.java:199) [na:1.7.0_79]
    at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_79]
    at sun.rmi.transport.Transport.serviceCall(Transport.java:198) [na:1.7.0_79]
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:567) [na:1.7.0_79]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828) [na:1.7.0_79]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.access$400(TCPTransport.java:619) [na:1.7.0_79]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:684) [na:1.7.0_79]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:681) [na:1.7.0_79]
    at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_79]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:681) [na:1.7.0_79]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_79]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_79]
    at java.lang.Thread.run(Thread.java:745) [na:1.7.0_79]
Caused by: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgumentException: Conflicting getter definitions for property "url": com.stripe.model.StripeCollectionAPIResource#getUrl(0 params) vs com.stripe.model.StripeCollectionAPIResource#getURL(0 params)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2203) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache.get(LocalCache.java:3937) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4830) ~[guava-18.0.jar:na]
    at springfox.documentation.schema.property.CachingModelPropertiesProvider.propertiesFor(CachingModelPropertiesProvider.java:59) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.propertiesFor(DefaultModelDependencyProvider.java:187) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.nonTrivialProperties(DefaultModelDependencyProvider.java:135) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.resolvedPropertiesAndFields(DefaultModelDependencyProvider.java:124) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.resolvedDependencies(DefaultModelDependencyProvider.java:103) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.maybeFromRegularType(DefaultModelDependencyProvider.java:153) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.resolvedPropertiesAndFields(DefaultModelDependencyProvider.java:129) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.resolvedDependencies(DefaultModelDependencyProvider.java:103) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.maybeFromRegularType(DefaultModelDependencyProvider.java:153) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.resolvedPropertiesAndFields(DefaultModelDependencyProvider.java:129) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.resolvedDependencies(DefaultModelDependencyProvider.java:103) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.maybeFromRegularType(DefaultModelDependencyProvider.java:153) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.resolvedPropertiesAndFields(DefaultModelDependencyProvider.java:129) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.resolvedDependencies(DefaultModelDependencyProvider.java:103) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.DefaultModelDependencyProvider.dependentModels(DefaultModelDependencyProvider.java:65) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.CachingModelDependencyProvider$1.load(CachingModelDependencyProvider.java:47) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.CachingModelDependencyProvider$1.load(CachingModelDependencyProvider.java:45) ~[springfox-schema-2.3.1.jar:2.3.1]
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) ~[guava-18.0.jar:na]
    ... 69 common frames omitted
Caused by: java.lang.IllegalArgumentException: Conflicting getter definitions for property "url": com.stripe.model.StripeCollectionAPIResource#getUrl(0 params) vs com.stripe.model.StripeCollectionAPIResource#getURL(0 params)
    at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getGetter(POJOPropertyBuilder.java:253) ~[jackson-databind-2.4.5.jar:2.4.5]
    at springfox.documentation.schema.Annotations.tryGetGetterAnnotation(Annotations.java:65) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.Annotations.findPropertyAnnotation(Annotations.java:47) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.swagger.schema.ApiModelPropertyPropertyBuilder.apply(ApiModelPropertyPropertyBuilder.java:45) ~[springfox-swagger-common-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.plugins.SchemaPluginsManager.property(SchemaPluginsManager.java:51) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.property.OptimizedModelPropertiesProvider.beanModelProperty(OptimizedModelPropertiesProvider.java:260) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.property.OptimizedModelPropertiesProvider.access$200(OptimizedModelPropertiesProvider.java:76) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.property.OptimizedModelPropertiesProvider$1.apply(OptimizedModelPropertiesProvider.java:141) ~[springfox-schema-2.3.1.jar:2.3.1]
03-Mar-2016 09:22:29.365 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
    at springfox.documentation.schema.property.OptimizedModelPropertiesProvider$1.apply(OptimizedModelPropertiesProvider.java:133) ~[springfox-schema-2.3.1.jar:2.3.1]
03-Mar-2016 09:22:29.366 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors
    at com.google.common.base.Present.transform(Present.java:71) ~[guava-18.0.jar:na]
    at springfox.documentation.schema.property.OptimizedModelPropertiesProvider.candidateProperties(OptimizedModelPropertiesProvider.java:188) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.property.OptimizedModelPropertiesProvider.propertiesFor(OptimizedModelPropertiesProvider.java:123) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.property.CachingModelPropertiesProvider$1.load(CachingModelPropertiesProvider.java:52) ~[springfox-schema-2.3.1.jar:2.3.1]
    at springfox.documentation.schema.property.CachingModelPropertiesProvider$1.load(CachingModelPropertiesProvider.java:50) ~[springfox-schema-2.3.1.jar:2.3.1]
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282) ~[guava-18.0.jar:na]
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) ~[guava-18.0.jar:na]
    ... 94 common frames omitted

最佳答案

此问题已在 springfox 2.4.0+ 中修复。升级到最新版本将解决您的问题。

关于java - Swagger 启动 tomcat 时抛出 UncheckedExecutionException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35779004/

相关文章:

java - 什么被认为是最好的 Java 后缀树实现?

javascript - Spring MVC 和 Bootstrap - css、img 工作 .js 不工作

java - 请求的资源不可用 Spring 3 MVC

java - Spring 没有为每个 session 初始化一个对象

Java Hibernate,一种跟踪 native 异常的方法

java - spring-data-mongo @Query 在请求日期时不起作用

asp.net-core - 使 swashbuckle 中的参数可选(非必需)

swagger - 如何更改https ://<your-url>/swagger to custom in Swagger

Java - 泛型类型 vector 的多维数组

c# - Swagger codegen 选项可更改 TypeScript 中的大小写