Как заменить EclipseLink 2.3.2 на EclipseLink 2.5 в WebLogic Server 12c

В настоящее время я пытаюсь запустить Docx4j в WebLogic Server 12c. WebLogic Server 12c поставляется с EclipseLink 2.3.2.

Существует аналогичный сообщение с описанием ситуации, которое, к сожалению, не дает отвечать.

Docx4j не работает с реализацией JAXB (MOXy), которая является частью EclipseLink 2.3.2. У меня Docx4j работает автономно с EclipseLink 2.5. Поэтому я очень уверен, что использование EclipseLink 2.5 с Weblogic Server 12c решит проблему с Docx4j.

Как заменить EclipseLink Vesion 2.3.2, на котором работает WebLogic Server 12c, на EclipseLink версии 2.5?


person Sascha Handke    schedule 02.07.2013    source источник
comment
это поддерживается оракулом с точки зрения ошибок/проблем?   -  person Kalpesh Soni    schedule 10.06.2014


Ответы (3)


Вы можете создать общую библиотеку в WebLogic для обновления версии EclipseLink.

СОЗДАЙТЕ ОБЩУЮ БИБЛИОТЕКУ

EclipseLink25_SharedLibrary.ear

Общая библиотека представляет собой EAR со следующим содержимым

  • lib/eclipselink.jar
  • META-INF/application.xml

    <application>
      <display-name>EclipseLink 2.5 Shared Library</display-name>
      <module>
          <java></java>
      </module>
    </application>
    
  • META-INF/MANIFEST.MF

    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.8.2
    Created-By: 1.7.0_04-b21 (Oracle Corporation)
    Extension-Name: EclipseLink-2.5.0
    Specification-Version: 2.5.0
    Implementation-Version: 2.5.0.v20130507
    
  • META-INF/weblogic-application.xml

    <weblogic-application>
       <prefer-application-packages>
           <package-name>org.eclipse.persistence.*</package-name>
      </prefer-application-packages>
    
    </weblogic-application>
    

ИСПОЛЬЗОВАТЬ ОБЩУЮ БИБЛИОТЕКУ

Ниже показано, как вы должны упаковать свое приложение для использования общей библиотеки.

SampleApplication.ear

  • META-INF/MANIFEST.MF
  • META-INF/weblogic-application.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <wls:weblogic-application xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-application" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_5.xsd http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.2/weblogic-application.xsd">
        <!--weblogic-version:10.3.4-->
        <wls:application-param>
            <wls:param-name>webapp.encoding.default</wls:param-name>
            <wls:param-value>UTF-8</wls:param-value>
        </wls:application-param>
        <wls:library-ref>
            <wls:library-name>EclipseLink-2.5.0</wls:library-name>
            <wls:specification-version>2.5.0</wls:specification-version>
            <wls:implementation-version>2.5.0.v20130507</wls:implementation-version>
           <wls:exact-match>true</wls:exact-match>
        </wls:library-ref>
    </wls:weblogic-application>
    
  • SampleApplication.war


ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

person bdoughan    schedule 02.07.2013
comment
Большое спасибо за быстрый ответ. Я уже нашел ваш блог-пост, но он не работал для WebLogic 12c. Я всегда получал ошибку при развертывании библиотеки. Но недавно я нашел решение для этого. WebLogic немного более строг, и с небольшим изменением в application.xml все заработало. Вы должны добавить lib/eclipselink.jar в тег java. - person Sascha Handke; 02.07.2013
comment
@SaschaHandke - Не могли бы вы обновить свой вопрос с помощью application.xml, который вы использовали? - person bdoughan; 02.07.2013
comment
поддерживает ли oracle обновление jar-файлов, когда мы сталкиваемся с ошибками? - person Kalpesh Soni; 09.01.2015

Решение, предложенное Блейзом в его сообщении в блоге, не работает. с WebLogic 12c. Чтобы заставить его работать, нужно внести небольшое изменение в application.xml, явно указав используемую библиотеку:

<application>
  <display-name>EclipseLink 2.5 Shared Library</display-name>
    <module>
      <java>lib/eclipselink.jar</java>
  </module>
</application>
person Sascha Handke    schedule 03.07.2013

Я предпочел вернуться к JAXB RI вместо использования глючного moxy JAXB. Вот как это можно сделать: http://docs.oracle.com/cd/E24329_01/web.1211/e24964/data_types.htm#CIHBHDGI

Я использовал метод, в котором следующий файл модуля jar помещается в «startWebLogic.cmd»: set PRE_CLASSPATH=$wls_home/modules/databinding.override_1.0.0.0.jar

чтобы он был первым в пути к классам.

person peter    schedule 06.03.2014