Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

No ServiceLocatorGenerator installed Error while Running Tests in Dropwizard

I have upgraded Dropwizard in my project and facing issue while running unit tests, although service start up works fine and all APIs are behaving normally, problem is coming only while running tests, here are my versions:

Dropwizard: 1.1.0
Jersey: 2.25.1
Guice: 4.1.0
hk2-api: 2.5.0-b36
hk2-utils: 2.5.0-b36
javax.ws.rs-api : 2.1-m05

below is the error when I am running "mvn test"

java.lang.RuntimeException: java.lang.ClassNotFoundException: Provider org.glassfish.jersey.internal.RuntimeDelegateImpl could not be instantiated: java.lang.IllegalStateException: It appears there is no ServiceLocatorGenerator installed.
at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:153)
at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:121)
at javax.ws.rs.core.Response$ResponseBuilder.newInstance(Response.java:848)
at javax.ws.rs.core.Response.status(Response.java:590)
at javax.ws.rs.core.Response.status(Response.java:601)
at javax.ws.rs.core.Response.ok(Response.java:622)
...... ** some more lines here **
Caused by: java.lang.ClassNotFoundException: Provider org.glassfish.jersey.internal.RuntimeDelegateImpl could not be instantiated: java.lang.IllegalStateException: It appears there is no ServiceLocatorGenerator installed.
at javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:123)
at javax.ws.rs.ext.FactoryFinder.find(FactoryFinder.java:226)
at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:137)
like image 881
user2098324 Avatar asked Apr 17 '17 13:04

user2098324


1 Answers

Calling JerseyGuiceUtils before running tests or app can help.

static {
    JerseyGuiceUtils.install((s, serviceLocator) -> null);
}

Source: https://github.com/dropwizard/dropwizard/issues/1772

like image 127
youhans Avatar answered Oct 01 '22 12:10

youhans