Weblogic 12c: Bevorzugte Web-Inf-Klassen und bevorzugte Anwendungspakete für Jersey

Ich muss beide verwenden (seltsamerweise ..) " prefer-web-inf-classes" und " Prefer-Application-Packages Eigenschaften von weblogic.xml auf einem Weblogic 12c-Server (12.2.1)

It ist eine REST-Anwendung, die auf Jersey 1.9 basiert. * (Jersey 1.x JAX-RS RI) und Guice.

1. Warum verwenden Sie: prefer-web-inf-classes

Wenn Sie mehr als eine WAR haben, müssen Sie die Bibliotheken für guice-jersey / guice auf der Ebene war / lib platzieren, andernfalls erhalten Sie einMultibindings Error.

Es muss auch das @ angegeben werd bevorzugen-web-inf-klassen zuwah. Dieser Weg funktioniert einwandfrei! Ich habe versucht, auf die gleiche Art und Weise mit Vorzugsanwendungspaketen mit Paketen zu arbeiten com.sun.jersey.guice.spi.container.servlet /com.google.inject.servlet, etc ..) aber auf keinen Fall.

Hinweis: Es ist nicht möglich, diese Bibliotheken auf EAR-Ebene auszuschließen.

2. Warum verwenden Sie: prefer-application-packages

Um Jersey 1.x JAX-RS RI in Weblogic 12c (12.2.1) zu verwenden, muss ich die folgenden Pakete angeben andere Art und Weise, wie Weblogic Jersey 2 und eine andere Version von Jackson-Bibliotheken usw. verwendet. )

Es funktioniert perfekt auf Jersey 1.X, wenn es @ iuf diese Weise angegebe. Ich habe zwei Kriege separat getestet und funktioniert gut ... aber denk dran, mein Freund, ich habe zwei Kriege ... also ...

Zusammenfassun

Ich kann nicht beide Eigenschaften verwenden (Bereitstellungsfehler für die Verwendung beider Eigenschaften in der Datei "weblogic.xml"), aber es wird Folgendes benötigt:

Um das Problem mit dem Guice-Filter zu beheben, müssen Sie "prefer-web-inf-classes" auf "true" setzen, um "guice-servlet.jar / jersey-guice.jar" auf der Stufe "war-lib" zu verwenden.Um mit Jersey 1.x arbeiten zu können, müssen Sie ..... prefer-application-package @ verwende

Frag: Wie kombiniert man beide, um einen von ihnen zu benutzen ??

Antworten auf die Frage(4)

Ihre Antwort auf die Frage