Ich habe ein Dropwizard-Projekt (mit Jersey 2.x), wo ich eine andere Bibliothek verwenden muss, die eine Abhängigkeit von Jersey-Client von 1.x hat und ich ' Ich habe Probleme, beide auf dem Klassenpfad nebeneinander zu haben. Es sieht so aus, als ob HK2 alles findet, was Provider von javax.ws.rs. * Implementiert und versucht, sie zu instanziieren. Wenn es eine Klasse von Jersey 1.x, die Dependency Injection, die es braucht, ist nicht da und ich am Ende mit vielen Fehlern wie:Geting Jersey 1.x und 2.x koexistieren
Caused by: java.lang.IllegalArgumentException: The MultiPartConfig instance we expected is not present. Have you registered the MultiPartConfigProvider class?
at com.sun.jersey.multipart.impl.MultiPartReaderClientSide.<init>(MultiPartReaderClientSide.java:107)
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:408)
at org.glassfish.hk2.utilities.reflection.ReflectionHelper.makeMe(ReflectionHelper.java:1107)
at org.jvnet.hk2.internal.ClazzCreator.createMe(ClazzCreator.java:274)
at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:368)
Gibt es irgendeine Art und Weise Jersey 2.x zu erhalten/HK2 zu alles im com.sun.jersey. * package space ignorieren?
Wie konnten Sie die Instanz des ServiceFinders bekommen? – badunk
In meinem Override von io.dropwizard.Application # initialize habe ich Folgendes hinzugefügt: ServiceFinder.setIteratorProvider (new Jersey2ServiceIteratorProvider()); –