【问题标题】:How to configure Weblogic 12.1.3 to use older version of Jersey while deploying Enterprise App如何在部署企业应用程序时配置 Weblogic 12.1.3 以使用旧版本的 Jersey
【发布时间】:2016-11-05 17:49:54
【问题描述】:

我已安装 Weblogic 12.1.3 作为从 Weblogic 10.3.6 升级到 Weblogic 12.1.3 的一部分 我的应用程序使用 Jersey 版本 1.17 jar 但是,在我们安装 Weblogic 12.1.3 之后,我们会在文件夹 ORACLE_HOME/oracle_common/modules 中获得 Jersey 1.18 Jars Jersey 1.18 jar 覆盖了 Jersey 1.17 jar,它们捆绑在我们的应用程序中,并在部署我们的应用程序时导致错误。

我们收到如下错误/警告消息

警告:方法 public javax.xml.bind.JAXBElement com.ipc.dms.dsfs.service.rs.DSFSResource.getEnterpriseContacts(java.lang.String,java.lang. Integer,java.lang.Integer,java.lang.String) 无法解析为具体类型

警告:方法 public javax.xml.bind.JAXBElement com.ipc.dms.dsfs.service.rs.DSFSResource.getMediaServiceConfigList(java.lang.String) 的返回类型 javax.xml.bind.JAXBElement 无法解析为具体类型

应用程序正在使用从以下位置加载的 ServletContainerInitializer 类 com.sun.jersey.server.impl.container.servlet.JerseyServletContainerInitializer:file:/opt/oracle/oracle_common/modules/jersey-servlet-1.18.jar。此初始化程序覆盖系统中可用的初始化程序。 **********>

java.lang.NoClassDefFoundError: 无法初始化类 org.jgroups.conf.XmlConfigurator 在 org.jgroups.conf.ConfiguratorFactory.getXmlConfigurator(ConfiguratorFactory.java:216) 在 org.jgroups.conf.ConfiguratorFactory.getStackConfigurator(ConfiguratorFactory.java:93) 在 org.jgroups.JChannel.(JChannel.java:142)


如果我们从 ORACLE_HOME/oracle_common/modules 中删除 Jersey 1.18 Jars,我们不会收到这些错误消息。

但是,从安装文件夹中删除 jars 会导致其他问题。具体来说,如果我从 ORACLE_HOME/oracle_common/modules 中删除 Jersey 1.18 jars,我会遇到下面提到的问题

weblogic.kernel.Default (self-tuning)'>


所以,我需要知道在 Weblogic 12.1.3 上部署应用程序时,我们是否可以将 EAR 配置为使用旧版本的 Jersey,即 Jersey 1.17。

如果是,请提供配置详细信息。

【问题讨论】:

    标签: java jersey weblogic


    【解决方案1】:

    你有两个选择:

    1. 在你耳朵的 weblogic-application.xml 中包含<prefer-application-packages> 标签如下:

      <weblogic-application> <prefer-application-packages> <package-name>com.sun.jersey.*</package-name> </prefer-application-packages> </weblogic-application>

    2. 在您的war文件的weblogic.xml中包含&lt;wls:prefer-web-inf-classes&gt;标签,如下所示:

      <wls:container-descriptor> <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes> </wls:container-descriptor>

    如果您决定使用选项 2,那么 weblogic 的所有公共库都将被您应用程序的库覆盖。所以我建议选择选项 1。

    【讨论】:

    • 谢谢你..我会试试这个
    猜你喜欢
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 2019-09-15
    • 2021-12-02
    • 1970-01-01
    相关资源
    最近更新 更多