2017-10-16 9 views
1

私のプロジェクトでスガッガーを統合する際に問題に直面しています。私は既存のジャージーAPIにswagger(described)を統合し、weblogic serverにデプロイしました。別のモジュールがあるので、すでにweblogicで利用できるjarファイルはほとんどなく、そのために私は競合の問題に直面しています。以下は、私が行ったことの詳細な説明です。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); 
} 

}

そして、私のサンプル・リソース・クラスIは、WebLogic上のアプリを展開しながら

@Path("/ping") 
@Api(tags = {"/ping"}) 
public class DemoServiceV1 { 

//some code 


} 

のようなものですそれは与えます 例外は

java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyIndex(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Ljava/lang/Integer

ように私はそれを把握しようとした2つの異なるバージョンのjarファイルが

com.fasterxml.jackson.core.jackson-databind_2.3.2.jar

com.fasterxml.jackson.core.jackson-databind_2.4.3.jar

用のWebLogicのモジュールであることを発見し、WebLogicが

com.fasterxml.jackson.core.jackson-databind_2.3.2.jar

を選びます

によってdef findPropertyIndexメソッドを持たないaults。 上記のjarファイル(APP-INF/libのcom.fasterxml.jackson.core.jackson-databind_2.3.2.jar)を保持しても、jarファイルはロードされませんでした。

上記の問題のいずれかを助けることができますか?スワッガーの統合は全く新しいものです。

答えて

0

weblogicツール(wls-cat)を試して、JARの競合を調べることができます。このURLを使用して閲覧することができますhttp://localhost:port/wls-cat/。このツールは、JARが正しくロードされているかどうかを理解するのに役立ちます。競合が発生した場合は、どのJARであるかを知ることができます。このツールを使用すると、読み込むJARの優先順位を定義することもできます。 これが役立つことを願っています。

+0

CATは、単一のWARファイル(WL_HOME/server/lib/wls-cat.war)として配布されるスタンドアロンWebアプリケーションです。開発モードでのみオンデマンドアプリケーションとして展開され、最初のアクセス時に展開されます。サーバーが運用モードで実行されている場合、サーバーは自動的にはデプロイされませんが、他のWebアプリケーションと同様に手動でデプロイできます。 –

関連する問題