puniverse / comsat

Fibers and actors for web development
docs.paralleluniverse.co/comsat
Other
598 stars 103 forks source link

java.lang.NoSuchMethodError on Comsat 0.2.0 + Dropwizard 0.7.1 #16

Closed igor-ye closed 9 years ago

igor-ye commented 9 years ago

Got NoSuchMethodError when trying Comsat 0.2.0 + Dropwizard 0.7.1

Exception in thread "main" java.lang.NoSuchMethodError: io.dropwizard.jersey.setup.JerseyContainerHolder.(Lcom/sun/jersey/spi/container/servlet/ServletContainer;)V at io.dropwizard.setup.Environment.(Environment.java:74) at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:34) at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:76) at io.dropwizard.cli.Cli.run(Cli.java:70) at io.dropwizard.Application.run(Application.java:72) at test.dropwizard.DropWizardServer.main(DropWizardServer.java:39)

But works fine with Dropwizard 0.7.0

As I understand the reason is io.dropwizard.jersey.setup.JerseyContainerHolder bundled together with Comsat. No idea why you include it (and some other dropwizard classes) into distribution.

pron commented 9 years ago

Can you try putting the Dropwizard dependency after the Comsat dependency?

The reason some Dropwizard classes are included with Comsat is that we’ve had to make a minor change to Dropwizard in order to support Quasar. The Dropwizard guys have since merged the change upstream, but it will only be included in Dropwizard 0.8, so in the meantime we need those classes.

pron commented 9 years ago

Removing your explicit dependency on Dropwizard altogether (relying on comsat-dropwizard's transitive dependency on Dropwizard) should solve this.