Open santus20111 opened 6 years ago
I have a similar problem, which may could have the same cause.
I am using play 2.6.11 and swagger-play 1.6.0
It looks like the newInstance method fails for the class SwaggerScalaModelConverter for some reason.
The problem occurs after adding the following dependency to my build.sbt file:
libraryDependencies += "com.auth0" % "java-jwt" % "3.3.0"
After removing the line, swagger-play works again. There have been no other changes to my codebase beside of this line.
java.util.ServiceConfigurationError: io.swagger.converter.ModelConverter: Provider io.swagger.scala.converter.SwaggerScalaModelConverter could not be instantiated java.util.ServiceLoader.fail(ServiceLoader.java:232) java.util.ServiceLoader.access$100(ServiceLoader.java:185) java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384) java.util.ServiceLoader$LazyIterator.access$700(ServiceLoader.java:323) java.util.ServiceLoader$LazyIterator$2.run(ServiceLoader.java:407) java.security.AccessController.doPrivileged(Native Method) java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:409) java.util.ServiceLoader$1.next(ServiceLoader.java:480) io.swagger.converter.ModelConverters.<clinit>(ModelConverters.java:114) play.modules.swagger.PlayReader.parseMethod(PlayReader.java:487) play.modules.swagger.PlayReader.read(PlayReader.java:139) play.modules.swagger.PlayReader.read(PlayReader.java:63) play.modules.swagger.PlayReader.read(PlayReader.java:57) play.modules.swagger.ApiListingCache$.$anonfun$listing$1(ApiListingCache.scala:17) scala.Option.orElse(Option.scala:289) play.modules.swagger.ApiListingCache$.listing(ApiListingCache.scala:11) play.modules.swagger.SwaggerPluginImpl.<init>(SwaggerPlugin.scala:164) SwaggerComponents.$init$(SwaggerComponents.scala:6) Launcher$$anon$1.<init>(Launcher.scala:6) Launcher.load(Launcher.scala:6) play.core.server.DevServerStart$$anon$1.$anonfun$reload$3(DevServerStart.scala:174) play.utils.Threads$.withContextClassLoader(Threads.scala:21) play.core.server.DevServerStart$$anon$1.reload(DevServerStart.scala:171) play.core.server.DevServerStart$$anon$1.get(DevServerStart.scala:124) play.core.server.AkkaHttpServer.modelConversion(AkkaHttpServer.scala:183) play.core.server.AkkaHttpServer.handleRequest(AkkaHttpServer.scala:189) play.core.server.AkkaHttpServer.$anonfun$createServerBinding$1(AkkaHttpServer.scala:106) akka.stream.impl.fusing.MapAsync$$anon$24.onPush(Ops.scala:1191) akka.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:512) akka.stream.impl.fusing.GraphInterpreter.processEvent(GraphInterpreter.scala:475) akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:371) akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:584) akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:468) akka.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:559) akka.stream.impl.fusing.ActorGraphInterpreter.akka$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:741) akka.stream.impl.fusing.ActorGraphInterpreter$$anonfun$receive$1.applyOrElse(ActorGraphInterpreter.scala:756) akka.actor.Actor.aroundReceive(Actor.scala:517) akka.actor.Actor.aroundReceive$(Actor.scala:515) akka.stream.impl.fusing.ActorGraphInterpreter.aroundReceive(ActorGraphInterpreter.scala:666) akka.actor.ActorCell.receiveMessage(ActorCell.scala:527) akka.actor.ActorCell.invoke(ActorCell.scala:496) akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) akka.dispatch.Mailbox.run(Mailbox.scala:224) akka.dispatch.Mailbox.exec(Mailbox.scala:234) akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
I am using play 2.6.10 and swagger-play 1.6.0 `play.api.UnexpectedException: Unexpected exception[CreationException: Unable to create injector, see the following errors:
1) Error injecting constructor, java.util.ServiceConfigurationError: io.swagger.converter.ModelConverter: Provider io.swagger.scala.converter.SwaggerScalaModelConverter could not be instantiated at play.modules.swagger.SwaggerPluginImpl.(SwaggerPlugin.scala:35)
while locating play.modules.swagger.SwaggerPluginImpl
at play.modules.swagger.SwaggerModule.bindings(SwaggerModule.scala:11):
Binding(interface play.modules.swagger.SwaggerPlugin to ConstructionTarget(class play.modules.swagger.SwaggerPluginImpl) eagerly) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1)
while locating play.modules.swagger.SwaggerPlugin
1 error] at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1.reload(DevServerStart.scala:186) at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1.get(DevServerStart.scala:124) at play.core.server.AkkaHttpServer.play$core$server$AkkaHttpServer$$modelConversion(AkkaHttpServer.scala:183) at play.core.server.AkkaHttpServer.play$core$server$AkkaHttpServer$$handleRequest(AkkaHttpServer.scala:189) at play.core.server.AkkaHttpServer$$anonfun$5.apply(AkkaHttpServer.scala:106) at play.core.server.AkkaHttpServer$$anonfun$5.apply(AkkaHttpServer.scala:106) at akka.stream.impl.fusing.MapAsync$$anon$24.onPush(Ops.scala:1191) at akka.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:512) at akka.stream.impl.fusing.GraphInterpreter.processEvent(GraphInterpreter.scala:475) at akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:371) Caused by: com.google.inject.CreationException: Unable to create injector, see the following errors:
1) Error injecting constructor, java.util.ServiceConfigurationError: io.swagger.converter.ModelConverter: Provider io.swagger.scala.converter.SwaggerScalaModelConverter could not be instantiated at play.modules.swagger.SwaggerPluginImpl.(SwaggerPlugin.scala:35)
while locating play.modules.swagger.SwaggerPluginImpl
at play.modules.swagger.SwaggerModule.bindings(SwaggerModule.scala:11):
Binding(interface play.modules.swagger.SwaggerPlugin to ConstructionTarget(class play.modules.swagger.SwaggerPluginImpl) eagerly) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1)
while locating play.modules.swagger.SwaggerPlugin
1 error at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:470) at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:184) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110) at com.google.inject.Guice.createInjector(Guice.java:99) at com.google.inject.Guice.createInjector(Guice.java:84) at play.api.inject.guice.GuiceBuilder.injector(GuiceInjectorBuilder.scala:185) at play.api.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.scala:137) at play.api.inject.guice.GuiceApplicationLoader.load(GuiceApplicationLoader.scala:21) at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$1.apply(DevServerStart.scala:174) at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$1.apply(DevServerStart.scala:171) Caused by: java.util.ServiceConfigurationError: io.swagger.converter.ModelConverter: Provider io.swagger.scala.converter.SwaggerScalaModelConverter could not be instantiated at java.util.ServiceLoader.fail(ServiceLoader.java:232) at java.util.ServiceLoader.access$100(ServiceLoader.java:185) at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384) at java.util.ServiceLoader$LazyIterator.access$700(ServiceLoader.java:323) at java.util.ServiceLoader$LazyIterator$2.run(ServiceLoader.java:407) at java.security.AccessController.doPrivileged(Native Method) at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:409) at java.util.ServiceLoader$1.next(ServiceLoader.java:480) at io.swagger.converter.ModelConverters.(ModelConverters.java:114)
at play.modules.swagger.PlayReader.parseMethod(PlayReader.java:487)
Caused by: java.lang.ExceptionInInitializerError: null
at io.swagger.scala.converter.SwaggerScalaModelConverter.(SwaggerScalaModelConverter.scala:19)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.access$700(ServiceLoader.java:323)
at java.util.ServiceLoader$LazyIterator$2.run(ServiceLoader.java:407)
at java.security.AccessController.doPrivileged(Native Method)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Scala module 2.8.6 requires Jackson Databind version >= 2.8.0 and < 2.9.0
at com.fasterxml.jackson.module.scala.JacksonModule$class.setupModule(JacksonModule.scala:66)
at com.fasterxml.jackson.module.scala.DefaultScalaModule.setupModule(DefaultScalaModule.scala:18)
at com.fasterxml.jackson.databind.ObjectMapper.registerModule(ObjectMapper.java:751)
at io.swagger.scala.converter.SwaggerScalaModelConverter$.(SwaggerScalaModelConverter.scala:15)
at io.swagger.scala.converter.SwaggerScalaModelConverter$.(SwaggerScalaModelConverter.scala)
at io.swagger.scala.converter.SwaggerScalaModelConverter.(SwaggerScalaModelConverter.scala:19)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
`