2016-11-15 10 views
0

У меня есть работающая установка Tomcat с Джерси и Swagger, но теперь я должен заставить ее работать на Weblogic 12c (12.2.1). Я пробовал несколько разных способов заставить его работать, но я оказался в разных тупиках. Я делаю это в JDeveloper.Рабочая настройка для Weblogic 12c, Jersey и Swagger

Я столкнулся с проблемами с версией Джексона и другими подобными столкновениями каждый раз, когда я пытался. У меня есть Джерси, чтобы работать с Weblogic, но не Swagger.

Я могу использовать более старые версии, если это помогает.

Это часть моего П из моей последней неудачи:

<dependency> 
     <groupId>io.swagger</groupId> 
     <artifactId>swagger-jersey2-jaxrs</artifactId> 
     <version>1.5.10</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.oracle.weblogic</groupId> 
     <artifactId>javax.ws.rs.javax.ws.rs-api</artifactId> 
     <version>12.2.1-0-0</version> 
    </dependency> 

Это дает

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

, который я понимаю, это из-за версии выпуска Glassfish/Джексон.

Т.Л., д-р
Я ищу для Hello World для Weblogic 12/Джерси/Кураж

ответ

0

Там, кажется, расхождение в версиях Джексоном банки. Более новые версии jsonson jars (которые не включены в jersey2.x) имеют пакеты com.fasterxml.jackson, в то время как у old Jersey 1.x есть пакеты org.codehaus.jackson.

В любом случае, мы всегда можем включить последнюю версию jackson в нашу зависимость.

+0

Некоторое время прошло с тех пор я задал этот вопрос. Я перешел на другой путь, поэтому у меня больше нет этой необходимости. Ради обмена знаниями, и если у вас есть идея о том, как его решить - пожалуйста, поделитесь! – Sam

1

WebLogic Server предоставляет более старую версию Jackson, которая конфликтует с той, которая необходима Swagger. Рассказывать WebLogic использовать один встроенный в вашей войне, добавьте следующую строку в ваш weblogic.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.7/weblogic-web-app.xsd"> 
    (...) 
    <container-descriptor> 
     <prefer-application-packages> 
      <package-name>com.fasterxml.jackson.*</package-name> 
     </prefer-application-packages> 
    </container-descriptor> 
    (...) 
</weblogic-web-app>