/ / Як замінити EclipseLink 2.3.2 на EclipseLink 2.5 в WebLogic Server 12c - eclipselink, moxy, docx4j, weblogic12c

Як замінити EclipseLink 2.3.2 за допомогою EclipseLink 2.5 в WebLogic Server 12c - eclipselink, moxy, docx4j, weblogic12c

Я зараз намагаюся запустити 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?

Відповіді:

2 для відповіді № 1

Ви можете створити спільну бібліотеку в 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


ДЛЯ ОТРИМАННЯ ДОДАТКОВОЇ ІНФОРМАЦІЇ


2 для відповіді № 2

Рішення, яке Блейз надав у своєму Блогпост не працює з WebLogic 12c. Рішення для його роботи - незначна зміна application.xml шляхом чіткого визначення використовуваної бібліотеки:

<application>
<display-name>EclipseLink 2.5 Shared Library</display-name>
<module>
<java>lib/eclipselink.jar</java>
</module>
</application>

1 для відповіді № 3

Я вважав за краще перейти назад до JAXB RI, а не використовувати баггі Moxy JAXB. Ось як це можна зробити: http://docs.oracle.com/cd/E24329_01/web.1211/e24964/data_types.htm#CIHBHDGI

Я використав Methode, де в "startWebLogic.cmd" розміщено наступний файл модуля jar: встановити PRE_CLASSPATH = $ wls_home / модулі / databinding.override_1.0.0.0.jar

щоб це було першим на уроці.