我正在尝试在WebLogic Server 12c中运行Docx4j。 WebLogic Server 12c随EclipseLink 2.3.2一起提供。
有一个类似的Post描述了这种情况,但遗憾的是没有答案。
Docx4j不适用于EclipseLink 2.3.2中的JAXB(MOXy)实现。我使用EclipseLink 2.5让Docx4j独立运行。所以我非常有信心将EclipseLink 2.5与Weblogic Server 12c一起使用将解决Docx4j的问题。
如何使用EclipseLink Version 2.5替换运行WebLogic Server 12c的EclipseLink Vesion 2.3.2?
答案 0 :(得分:2)
您可以在WebLogic中创建共享库以更新EclipseLink的版本。
创建共享图书馆
<强> EclipseLink25_SharedLibrary.ear 强>
共享库是具有以下内容的EAR
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 / 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
更多信息
答案 1 :(得分:2)
Blaise在他的Blogpost中提供的解决方案不适用于WebLogic 12c。使其工作的解决方案是通过显式定义使用的库对application.xml进行微小的更改:
<application>
<display-name>EclipseLink 2.5 Shared Library</display-name>
<module>
<java>lib/eclipselink.jar</java>
</module>
</application>
答案 2 :(得分:1)
我更愿意切换回JAXB RI,而不是使用有缺陷的moxy JAXB。 以下是如何做到这一点: http://docs.oracle.com/cd/E24329_01/web.1211/e24964/data_types.htm#CIHBHDGI
我使用了Methode,其中以下jar模块文件放在“startWebLogic.cmd”中: 设置PRE_CLASSPATH = $ wls_home / modules / databinding.override_1.0.0.0.jar
将它放在类路径中。