jakehschwartz / finatra-swagger

Swagger Support For Finatra
https://jakehschwartz.github.io/swagger-finatra
Apache License 2.0
28 stars 19 forks source link

Support Jackson 2.11.0? #53

Closed xcv58 closed 4 years ago

xcv58 commented 4 years ago

When I upgrade the Jackson to 2.11.0, the code can compile and all tests pass.

However, it throws this error for the example app after starts up:

$ sbt "project hello-world-example" run
[info] Loading settings for project finatra-swagger-build from plugins.sbt ...
[info] Loading project definition from /Users/yihongc/workspace/finatra-swagger/project
[info] Loading settings for project finatra-swagger from version.sbt,build.sbt ...
[info] Set current project to finatra-swagger (in build file:/Users/yihongc/workspace/finatra-swagger/)
[info] Set current project to hello-world-example (in build file:/Users/yihongc/workspace/finatra-swagger/)
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[warn] Compile / run / javaOptions will be ignored, Compile / run / fork is set to false
[info] running com.jakehschwartz.finatra.swagger.SampleAppMain
17:25:59.416 [run-main-0] INFO com.twitter.util.logging.Slf4jBridgeUtility$ - org.slf4j.bridge.SLF4JBridgeHandler installed.
17:25:59.921 [run-main-0] DEBUG io.netty.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework
17:25:59.933 [run-main-0] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.level: simple
17:25:59.933 [run-main-0] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.targetRecords: 4
17:25:59.945 [run-main-0] DEBUG io.netty.util.ResourceLeakDetectorFactory - Loaded default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@6623cd5a
17:26:00.052 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent - Platform: MacOS
17:26:00.056 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent0 - -Dio.netty.noUnsafe: false
17:26:00.056 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent0 - Java version: 8
17:26:00.059 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.theUnsafe: available
17:26:00.060 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.copyMemory: available
17:26:00.062 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Buffer.address: available
17:26:00.064 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent0 - direct buffer constructor: available
17:26:00.070 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Bits.unaligned: available, true
17:26:00.070 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent0 - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable prior to Java9
17:26:00.070 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.DirectByteBuffer.<init>(long, int): available
17:26:00.070 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent - sun.misc.Unsafe: available
17:26:00.071 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.tmpdir: /var/folders/m4/y93k16nd7019sgrmrfg0zmxh0000gp/T (java.io.tmpdir)
17:26:00.071 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.bitMode: 64 (sun.arch.data.model)
17:26:00.073 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.maxDirectMemory: 1029177344 bytes
17:26:00.073 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.uninitializedArrayAllocationThreshold: -1
17:26:00.077 [run-main-0] DEBUG io.netty.util.internal.CleanerJava6 - java.nio.ByteBuffer.cleaner(): available
17:26:00.077 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.noPreferDirect: false
17:26:00.125 [run-main-0] DEBUG io.netty.util.internal.PlatformDependent - org.jctools-core.MpscChunkedArrayQueue: available
17:26:01.059 [run-main-0] INFO com.twitter.finagle.http.HttpMuxer$ - HttpMuxer[/admin/metrics.json] = com.twitter.finagle.stats.MetricsExporter(com.twitter.finagle.stats.MetricsExporter)
17:26:01.060 [run-main-0] INFO com.twitter.finagle.http.HttpMuxer$ - HttpMuxer[/admin/per_host_metrics.json] = com.twitter.finagle.stats.HostMetricsExporter(com.twitter.finagle.stats.HostMetricsExporter)
17:26:01.444 [run-main-0] INFO com.jakehschwartz.finatra.swagger.SampleAppMain$ - Process started
17:26:01.695 [run-main-0] DEBUG com.jakehschwartz.finatra.swagger.SampleAppMain$ - AdminHttpServer Muxer endpoints:
        /admin/logging => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.NoLoggingHandler)
        /admin/ping => com.twitter.server.handler.ReplyHandler
         => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.AdminRedirectHandler)
        /admin => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.SummaryHandler)
        /admin/ => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.view.NotFoundView.andThen(com.twitter.server.handler.AdminRedirectHandler))
        /admin/server_info => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.view.TextBlockView.andThen(com.twitter.server.handler.ServerInfoHandler))
        /admin/contention => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.view.TextBlockView.andThen(com.twitter.server.handler.ContentionHandler))
        /admin/lint => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.LintHandler)
        /admin/lint.json => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.LintHandler)
        /admin/failedlint => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.FailedLintRuleHandler)
        /admin/threads => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.ThreadsHandler)
        /admin/threads.json => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.ThreadsHandler)
        /admin/announcer => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.view.TextBlockView.andThen(com.twitter.server.handler.AnnouncerHandler))
        /admin/dtab => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.DtabHandler)
        /admin/pprof/heap => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.HeapResourceHandler)
        /admin/pprof/profile => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.ProfileResourceHandler)
        /admin/pprof/contention => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.ProfileResourceHandler)
        /admin/shutdown => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.ShutdownHandler)
        /admin/tracing => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.TracingHandler)
        /admin/metrics => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.MetricQueryHandler)
        /admin/metric_metadata.json => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.MetricMetadataQueryHandler)
        /admin/clients/ => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.ClientRegistryHandler)
        /admin/balancers.json => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.LoadBalancersHandler)
        /admin/servers/ => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.ServerRegistryHandler)
        /admin/files/ => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.ResourceHandler)
        /admin/registry.json => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.RegistryHandler)
        /admin/toggles => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.ToggleHandler)
        /admin/toggles/ => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.ToggleHandler)
        /admin/tunables => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.TunableHandler)
        /admin/tunables/ => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.TunableHandler)
        /favicon.ico => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.ResourceHandler)
        /admin/servers/connections/ => com.twitter.finagle.filter.OffloadFilter$Server.andThen(com.twitter.server.handler.AttachedClientsHandler)
        /admin/histograms => com.twitter.server.handler.HistogramQueryHandler
        /admin/histograms.json => com.twitter.server.handler.HistogramQueryHandler
        /admin/exp/metric_metadata => com.twitter.server.handler.MetricTypeQueryHandler
17:26:01.710 [run-main-0] INFO com.jakehschwartz.finatra.swagger.SampleAppMain$ - Serving admin http on 0.0.0.0/0.0.0.0:9990
17:26:02.824 [run-main-0] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numHeapArenas: 32
17:26:02.825 [run-main-0] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numDirectArenas: 32
17:26:02.825 [run-main-0] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.pageSize: 8192
17:26:02.825 [run-main-0] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxOrder: 7
17:26:02.825 [run-main-0] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.chunkSize: 1048576
17:26:02.825 [run-main-0] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.tinyCacheSize: 512
17:26:02.825 [run-main-0] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.smallCacheSize: 256
17:26:02.825 [run-main-0] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.normalCacheSize: 64
17:26:02.825 [run-main-0] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedBufferCapacity: 32768
17:26:02.825 [run-main-0] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimInterval: 8192
17:26:02.830 [run-main-0] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimIntervalMillis: 0
17:26:02.830 [run-main-0] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.useCacheForAllThreads: true
17:26:02.830 [run-main-0] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedByteBuffersPerChunk: 1023
17:26:02.838 [run-main-0] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024
17:26:02.839 [run-main-0] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096
17:26:02.899 [run-main-0] INFO com.twitter.finagle - Finagle version 20.5.0 (rev=413f28a1b26b9700bee91685235a6ca2a53fbe9b) built at 20200526-214546
17:26:03.049 [run-main-0] DEBUG io.netty.channel.MultithreadEventLoopGroup - -Dio.netty.eventLoopThreads: 32
17:26:03.115 [run-main-0] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.noKeySetOptimization: false
17:26:03.115 [run-main-0] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.selectorAutoRebuildThreshold: 512
17:26:03.231 [run-main-0] DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.processId: 72258 (auto-detected)
17:26:03.236 [run-main-0] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv4Stack: false
17:26:03.236 [run-main-0] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv6Addresses: false
17:26:03.283 [run-main-0] DEBUG io.netty.util.NetUtil - Loopback interface: lo0 (lo0, 0:0:0:0:0:0:0:1%lo0)
17:26:03.284 [run-main-0] DEBUG io.netty.util.NetUtil - Failed to get SOMAXCONN from sysctl and file /proc/sys/net/core/somaxconn. Default: 128
17:26:03.297 [run-main-0] DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.machineId: 38:f9:d3:ff:fe:e4:fd:86 (auto-detected)
17:26:03.397 [run-main-0] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.allocator.type: pooled
17:26:03.398 [run-main-0] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.threadLocalDirectBufferSize: 0
17:26:03.398 [run-main-0] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.maxThreadLocalCharBufferSize: 16384
17:26:04.425 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: https.announce =
17:26:04.426 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: dtab.add = Dtab()
17:26:04.427 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: log.level = INFO
17:26:04.429 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: local.doc.root =
17:26:04.430 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: https.port =
17:26:04.431 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: log.async = true
17:26:04.432 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: http.name = http
17:26:04.433 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: http.shutdown.time = 1.minutes
17:26:04.435 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: maxRequestSize = 5242880.bytes
17:26:04.436 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: log.rollPolicy = Never
17:26:04.467 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: help = false
17:26:04.469 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: log.output = /dev/stderr
17:26:04.470 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: http.port = :8888
17:26:04.480 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: log.async.maxsize = 4096
17:26:04.483 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: https.name = https
17:26:04.486 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: http.response.charset.enabled = true
17:26:04.488 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: log.rotateCount = -1
17:26:04.490 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: swagger.docs.endpoint = /docs
17:26:04.491 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: doc.root =
17:26:04.493 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: log.async.inferClassNames = false
17:26:04.494 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: http.announce =
17:26:04.495 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: log.append = true
17:26:04.497 [run-main-0] DEBUG com.twitter.inject.app.internal.FlagsModule - Binding flag: admin.port = 0.0.0.0/0.0.0.0:9990
17:26:05.158 [run-main-0] INFO com.jakehschwartz.finatra.swagger.SampleAppMain$ - Resolving Finagle clients before warmup
17:26:05.183 [run-main-0] INFO com.jakehschwartz.finatra.swagger.SampleAppMain$ - Done resolving clients: [].
17:26:05.188 [run-main-0] DEBUG com.twitter.server.internal.FinagleBuildRevision$ - Resolved Finagle build revision: (rev=413f28a1b26b9700bee91685235a6ca2a53fbe9b)
17:26:08.885 [run-main-0] DEBUG io.swagger.converter.ModelConverters - adding ModelConverter: io.swagger.scala.converter.SwaggerScalaModelConverter@45410eae
17:26:08.889 [run-main-0] DEBUG io.swagger.converter.ModelConverterContextImpl - resolveProperty class java.lang.String
17:26:08.890 [run-main-0] DEBUG io.swagger.jackson.ModelResolver - resolveProperty [simple type, class java.lang.String]
17:26:09.012 [run-main-0] DEBUG io.swagger.converter.ModelConverters - ModelConverters readAll with JsonView annotation from class com.jakehschwartz.finatra.swagger.Student
17:26:09.012 [run-main-0] DEBUG io.swagger.converter.ModelConverterContextImpl - resolve class com.jakehschwartz.finatra.swagger.Student
17:26:09.012 [run-main-0] DEBUG io.swagger.converter.ModelConverterContextImpl - trying extension io.swagger.scala.converter.SwaggerScalaModelConverter@45410eae
17:26:09.031 [run-main-0] DEBUG io.swagger.converter.ModelConverterContextImpl - defineModel Student io.swagger.models.ModelImpl@8dceba67
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.introspect.AnnotatedMember.getType(Lcom/fasterxml/jackson/databind/type/TypeBindings;)Lcom/fasterxml/jackson/databind/JavaType;
  at com.jakehschwartz.finatra.swagger.SampleController.<init>(SampleController.scala:18)
  while locating com.jakehschwartz.finatra.swagger.SampleController

1 error
        at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:226)
        at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1053)
        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1081)
        at com.twitter.inject.Injector.instance(Injector.scala:23)
        at com.twitter.finatra.http.routing.HttpRouter.add(HttpRouter.scala:165)
        at com.jakehschwartz.finatra.swagger.SampleApp.configureHttp(SampleApp.scala:19)
        at com.twitter.finatra.http.HttpServer.postInjectorStartup(servers.scala:496)
        at com.twitter.finatra.http.HttpServer.postInjectorStartup$(servers.scala:493)
        at com.jakehschwartz.finatra.swagger.SampleApp.postInjectorStartup(SampleApp.scala:10)
        at com.twitter.inject.app.App.main(App.scala:135)
        at com.twitter.inject.app.App.main$(App.scala:131)
        at com.twitter.inject.server.TwitterServer.main(TwitterServer.scala:168)
        at com.twitter.inject.server.TwitterServer.main$(TwitterServer.scala:167)
        at com.jakehschwartz.finatra.swagger.SampleApp.main(SampleApp.scala:10)
        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 com.twitter.app.App.$anonfun$nonExitingMain$4(App.scala:376)
        at scala.Option.foreach(Option.scala:407)
        at com.twitter.app.App.nonExitingMain(App.scala:375)
        at com.twitter.app.App.nonExitingMain$(App.scala:358)
        at com.jakehschwartz.finatra.swagger.SampleApp.nonExitingMain(SampleApp.scala:10)
        at com.twitter.app.App.main(App.scala:347)
        at com.twitter.app.App.main$(App.scala:345)
        at com.jakehschwartz.finatra.swagger.SampleApp.main(SampleApp.scala:10)
        at com.jakehschwartz.finatra.swagger.SampleAppMain.main(SampleApp.scala)
        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 sbt.Run.invokeMain(Run.scala:115)
        at sbt.Run.execute$1(Run.scala:79)
        at sbt.Run.$anonfun$runWithLoader$4(Run.scala:92)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
        at sbt.util.InterfaceUtil$$anon$1.get(InterfaceUtil.scala:10)
        at sbt.TrapExit$App.run(TrapExit.scala:257)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.introspect.AnnotatedMember.getType(Lcom/fasterxml/jackson/databind/type/TypeBindings;)Lcom/fasterxml/jackson/databind/JavaType;
        at io.swagger.jackson.ModelResolver.resolve(ModelResolver.java:425)
        at io.swagger.jackson.ModelResolver.resolve(ModelResolver.java:203)
        at io.swagger.scala.converter.SwaggerScalaModelConverter.resolve(SwaggerScalaModelConverter.scala:90)
        at io.swagger.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:103)
        at io.swagger.converter.ModelConverters.readAll(ModelConverters.java:98)
        at io.swagger.converter.ModelConverters.readAll(ModelConverters.java:88)
        at com.jakehschwartz.finatra.swagger.FinatraSwagger.registerModel(FinatraSwagger.scala:243)
        at com.jakehschwartz.finatra.swagger.FinatraSwagger.registerModel(FinatraSwagger.scala:237)
        at com.jakehschwartz.finatra.swagger.FinatraOperation.responseWith(FinatraOperation.scala:112)
        at com.jakehschwartz.finatra.swagger.SampleController.$anonfun$new$1(SampleController.scala:28)
        at com.twitter.finatra.http.SwaggerRouteDSL.registerOperation(SwaggerRouteDSL.scala:116)
        at com.twitter.finatra.http.SwaggerRouteDSL.getWithDoc(SwaggerRouteDSL.scala:40)
        at com.twitter.finatra.http.SwaggerRouteDSL.getWithDoc$(SwaggerRouteDSL.scala:33)
        at com.jakehschwartz.finatra.swagger.SampleController.getWithDoc(SampleController.scala:18)
        at com.jakehschwartz.finatra.swagger.SampleController.<init>(SampleController.scala:31)
        at com.jakehschwartz.finatra.swagger.SampleController$$FastClassByGuice$$e0cf5859.newInstance(<generated>)
        at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
        at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1050)
        ... 36 more
Exception thrown in main on startup

Exception: sbt.TrapExitSecurityException thrown from the UncaughtExceptionHandler in thread "run-main-0"
[error] Nonzero exit code: 1
[error] (Compile / run) Nonzero exit code: 1
[error] Total time: 18 s, completed Jun 22, 2020 5:26:09 PM
xcv58 commented 4 years ago

This is blocked by https://github.com/swagger-api/swagger-core/issues/3554#issuecomment-638213349