Je suis confronté à un problème lors de l'intégration de Swagger dans mon projet. J'ai intégré swagger (comme described) dans mon api jersey existant et déployé sur le serveur weblogic. Comme il existe différents modules, il y a déjà peu de jars disponibles dans weblogic et à cause de cela, je suis confronté à des problèmes de conflits. Voici une description détaillée de ce que j'ai fait.Swagger Core Jersey 2.X Configuration du projet 1.5
pom.xml
<dependency> <groupId>io.swagger</groupId> <artifactId>swagger-jersey2-jaxrs</artifactId> <version>1.5.0</version> </dependency>
DemoApplication.java
public class DemoApplication extends ResourceConfig {
public DemoApplication() {
super(io.swagger.jaxrs.listing.ApiListingResource.class,io.swagger.jaxrs.listing.SwaggerSerializers.class);
configSwagger();
}
private void configSwagger() {
BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.0");
beanConfig.setBasePath("/demo/rest/v1");
beanConfig.setResourcePackage(DemoApplication.class.getPackage().getName());
beanConfig.setScan(true);
}
}
Et mon échantillon classe de ressources est comme
@Path("/ping")
@Api(tags = {"/ping"})
public class DemoServiceV1 {
//some code
}
Pendant que je déploie l'application sur weblogic il donne exception comme
java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyIndex(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Ljava/lang/Integer
j'ai essayé de le comprendre et a constaté qu'il ya deux pots de version différentes dans le module weblogic pour
com.fasterxml.jackson.core.jackson-databind_2.3.2.jar
et
com.fasterxml.jackson.core.jackson-databind_2.4.3.jar
et weblogic prend
com.fasterxml.jackson.core.jackson-databind_2.3.2.jar
par def aults qui n'a pas de méthode findPropertyIndex. J'ai même essayé de garder le jar ci-dessus, c'est-à-dire com.fasterxml.jackson.core.jackson-databind_2.3.2.jar dans APP-INF/lib mais il ne charge pas le jar.
Quelqu'un peut-il aider dans le problème ci-dessus? L'intégration de Swagger est totalement nouvelle pour moi.
CAT est une application Web autonome, distribuée sous la forme d'un seul fichier WAR (WL_HOME/server/lib/wls-cat.war). Il est déployé en tant qu'application interne à la demande uniquement en mode développement et le déploiement se produit lors du premier accès. Si le serveur fonctionne en mode production, il n'est pas déployé automatiquement mais vous pouvez le déployer manuellement, comme n'importe quelle autre application Web. –