2016-01-29 2 views
3

У меня есть веб-службы в WebLogic 12,1 сервер (где он работает), что я теперь должен передать в новом WebLogic 12,2 сервера. В моих банках WEB-INF/lib у меня есть jersey 1.18 файлов. Однако, когда я его развертываю, кажется, что Джерси 1.18 переопределяется Джерси 2.21, и, позвонив в веб-службу, я получаю «404 не найденную ошибку». Application.wadl теперь имеет <ns0:doc ns1:generatedBy="Jersey: 2.21.1 2015-09-16..."/>, поэтому я предполагаю, что это проблема.Джерси 1,18 в WebLogic 12.2

Я попытался положить файл weblogic.xml в WEB-INF с:

<container-descriptor> 
     <prefer-web-inf-classes>true</prefer-web-inf-classes> 
</container-descriptor> 

, но ничего не изменилось. Как я могу заставить использовать Джерси 1.18?

ответ

0

Более безопасный способ обеспечить версию библиотеки, в которой вы нуждаетесь, - использовать общие библиотеки и ссылки, а затем в файле weblogic.xml. Вот пример, чтобы вы могли посмотреть:

<?xml version="1.0" encoding="UTF-8"?> 
<wls:weblogic-web-app xmlns:wls="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"> 

    <wls:library-ref> 
     <library-name>jax-rs</library-name> 
     <specification-version>2.0</specification-version> 
     <exact-match>false</exact-match> 
    </wls:library-ref> 
</wls:weblogic-web-app> 

Я приглашаю вас открыть link, чтобы получить подробный процесс о том, как зарегистрировать свой джерси LIB, как разделяемые библиотеки на WebLogic экземпляров.

0

Вы можете решить эту проблему, изменив web.xml:
До:
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
После:
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>