我在將swagger集成到我的項目中時遇到了一個問題。我在我現有的球衣api中集成了swagger(如described),並部署在weblogic服務器上。由於有不同的模塊,所以weblogic中已經有很少的罐子可用了,因此我面臨着衝突問題。以下是我所做的詳細說明。Swagger Core Jersey 2.X項目設置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);
}
}
而且我的樣本資源類就像
@Path("/ping")
@Api(tags = {"/ping"})
public class DemoServiceV1 {
//some code
}
當我部署在WebLogic應用它給 例外,因爲
java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyIndex(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Ljava/lang/Integer
我試圖弄明白,發現有weblogic的模塊中的兩個不同版本的罐子
com.fasterxml.jackson.core.jackson-databind_2.3.2.jar
和
com.fasterxml.jackson.core.jackson-databind_2.4.3.jar
和weblogic挑選
com.fasterxml.jackson.core.jackson-databind_2.3.2.jar
by def沒有findPropertyIndex方法的aults。 我甚至試圖保留上述jar,即APP-INF/lib中的com.fasterxml.jackson.core.jackson-databind_2.3.2.jar,但它仍然不加載jar。
任何一個可以幫助上述問題? Swagger整合對我來說是全新的。
CAT是一個獨立的Web應用程序,作爲單個WAR文件(WL_HOME/server/lib/wls-cat.war)分發。它僅作爲內部按需應用程序部署在開發模式中,部署在首次訪問時發生。如果服務器在生產模式下運行,它不會自動部署,但您可以手動部署它,就像任何其他Web應用程序一樣。 –