是否可能,如果可能,如何?
最佳答案
实际上,WebLogic 10.3 中捆绑的 JAX-WS 实现基于 JAX-WS RI 2.1.4,如 What's New in WebLogic Server 中所述。 :
The WebLogic Server implementation of JAX-WS is based on the JAX-WS Reference Implementation (RI), Version 2.1.4, and includes enhancements to the tool layer to simplify the building and deployment of JAX-WS services and to ease the migration from JAX-RPC to JAX-WS. The following features and enhancements are available from the JAX-WS RI 2.1.4.
但这只是旁注 :) 现在,回答您的问题,是的,这是可能的。基本上,想法是将所有内容打包为一个 EAR 并提供一个 weblogic-application.xml
指定需要从 EAR 而不是从 WebLogic 的默认类加载器加载的 Java 包。为此,请按照下列步骤操作:
- 创建一个嵌入您的 war 的 EAR
在您的 EAR 的
META-INF/weblogic-application.xml
中,放置<?xml version="1.0" encoding="UTF-8"?> <weblogic-application> <application-param> <param-name>webapp.encoding.default</param-name> <param-value>UTF-8</param-value> </application-param> <prefer-application-packages> <package-name>com.sun.xml.*</package-name> <package-name>javax.xml.bind.*</package-name> <package-name>javax.jws.*</package-name> <package-name>javax.xml.soap.*</package-name> </prefer-application-packages> </weblogic-application>
将所需的 JAR 放入 WAR 的
WEB-INF/lib
中。
如果 WebLogic 报告类加载问题,您可能必须在 prefer-application-packages
元素下添加更多 Java 包。
关于java - weblogic 10.3.1 上的 jaxws 2.1.5 而不是预安装的 jaxws 2.1.1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1846213/