Java weblogic 10.3.1上的jaxws 2.1.5而不是预安装的jaxws 2.1.1?

Java weblogic 10.3.1上的jaxws 2.1.5而不是预安装的jaxws 2.1.1?,java,weblogic,jax-ws,weblogic-10.x,Java,Weblogic,Jax Ws,Weblogic 10.x,是否可能,如果可能,如何实现?事实上,WebLogic 10.3中捆绑的JAX-WS实现是基于JAX-WS RI 2.1.4的,如以下文档所述: JAX-WS的WebLogic服务器实现基于JAX-WS参考实现(RI),版本2.1.4,包括对工具层的增强,以简化JAX-WS服务的构建和部署,并简化从JAX-RPC到JAX-WS的迁移。JAX-WSRI2.1.4提供了以下特性和增强功能 但这只是一个旁注:)现在,回答你的问题,是的,这是可能的。基本上,其思想是将所有内容打包为一个EAR,并提供指定

是否可能,如果可能,如何实现?

事实上,WebLogic 10.3中捆绑的JAX-WS实现是基于JAX-WS RI 2.1.4的,如以下文档所述:

JAX-WS的WebLogic服务器实现基于JAX-WS参考实现(RI),版本2.1.4,包括对工具层的增强,以简化JAX-WS服务的构建和部署,并简化从JAX-RPC到JAX-WS的迁移。JAX-WSRI2.1.4提供了以下特性和增强功能

但这只是一个旁注:)现在,回答你的问题,是的,这是可能的。基本上,其思想是将所有内容打包为一个EAR,并提供指定需要从EAR而不是WebLogic的默认类加载器加载的Java包的方法。为此,请执行以下步骤:

  • 创建一个嵌入战争的耳朵
  • 在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>
    
    
    webapp.encoding.default
    UTF-8
    com.sun.xml*
    javax.xml.bind*
    javax.jws*
    javax.xml.soap*
    
  • 将所需的JAR放入WAR的
    WEB-INF/lib


  • 如果WebLogic报告类加载问题,那么您可能必须在
    首选应用程序包
    元素下添加更多Java包

    非常有用的答案,谢谢。我的jaxws 2.1.1版本由wsimport-version响应。