Atmosphere / wasync

WebSockets with fallback transports client library for Node.js, Android and Java
http://async-io.org
161 stars 47 forks source link

java.lang.ClassNotFoundException: com.ning.http.multipart.MultipartRequestEntity with Play 2.3.x and wasync 2.1.2 #132

Closed umbreak closed 9 years ago

umbreak commented 9 years ago

Hello,

I'm running atmosphere-play server side correctly and now I also need to create a client from the programming side, so I was trying to use wasync. I added the following dependencies:

libraryDependencies ++= commonDependencies
libraryDependencies ++= Seq(
    "org.atmosphere" % "atmosphere-play" % "2.1.2",
    "org.atmosphere" % "wasync" % "2.1.2" exclude("com.ning", "async-http-client"),
    "com.ning" % "async-http-client" % "1.9.30"

)

And when I start play I run into the following exception:

Caused by: java.lang.NoClassDefFoundError: com/ning/http/multipart/MultipartRequestEntity
    at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.8.0_60]
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[na:1.8.0_60]
    at java.lang.Class.getDeclaredMethods(Class.java:1975) ~[na:1.8.0_60]
    at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:662) ~[guice-3.0.jar:na]
    at com.google.inject.spi.InjectionPoint.forStaticMethodsAndFields(InjectionPoint.java:321) ~[guice-3.0.jar:na]
    at com.google.inject.spi.InjectionPoint.forStaticMethodsAndFields(InjectionPoint.java:340) ~[guice-3.0.jar:na]
    at com.google.inject.spi.StaticInjectionRequest.getInjectionPoints(StaticInjectionRequest.java:64) ~[guice-3.0.jar:na]
    at com.google.inject.internal.InjectionRequestProcessor$StaticInjection.validate(InjectionRequestProcessor.java:99) ~[guice-3.0.jar:na]
    at com.google.inject.internal.InjectionRequestProcessor.validate(InjectionRequestProcessor.java:67) ~[guice-3.0.jar:na]
    at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:136) ~[guice-3.0.jar:na]
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106) ~[guice-3.0.jar:na]
    at com.google.inject.Guice.createInjector(Guice.java:95) ~[guice-3.0.jar:na]
    at utils.GlobalCommon.onStart(GlobalCommon.java:300) ~[na:na]
    at ImmoviewerGlobal.onStart(ImmoviewerGlobal.java:24) ~[na:na]
    at play.core.j.JavaGlobalSettingsAdapter.onStart(JavaGlobalSettingsAdapter.scala:22) ~[play_2.11-2.3.10.jar:2.3.10]
    at play.api.GlobalPlugin.onStart(GlobalSettings.scala:220) ~[play_2.11-2.3.10.jar:2.3.10]
    at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:91) ~[play_2.11-2.3.10.jar:2.3.10]
    at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:91) ~[play_2.11-2.3.10.jar:2.3.10]
    at scala.collection.immutable.List.foreach(List.scala:381) ~[scala-library-2.11.5.jar:na]
    at play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:91) ~[play_2.11-2.3.10.jar:2.3.10]
    at play.api.Play$$anonfun$start$1.apply(Play.scala:91) ~[play_2.11-2.3.10.jar:2.3.10]
    at play.api.Play$$anonfun$start$1.apply(Play.scala:91) ~[play_2.11-2.3.10.jar:2.3.10]
    at play.utils.Threads$.withContextClassLoader(Threads.scala:21) ~[play_2.11-2.3.10.jar:2.3.10]
    at play.api.Play$.start(Play.scala:90) ~[play_2.11-2.3.10.jar:2.3.10]
    at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(ApplicationProvider.scala:157) ~[play_2.11-2.3.10.jar:2.3.10]
    ... 14 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.ning.http.multipart.MultipartRequestEntity
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_60]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_60]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_60]
    ... 39 common frames omitted
umbreak commented 9 years ago

The issue comes because of atmosphere-play and async-http-client. Even removing wasync from the dependencies (but keeping async-http-client) it still happens. I move it to the right project.