如何部署 apache CXF rest app to Weblogic

来源:互联网 发布:指南针炒股软件评价 编辑:程序博客网 时间:2024/05/22 04:50

Weblogic 只支持默认的JAX-RS 2.0 API 和 Jersey 。 不支持Apache CXF rest api .

如果不使用如下步骤就会出现这个Exception:

 weblogic.application.ModuleException: java.lang.LinkageError: ClassCastException: attempting to castzip: .../user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/myCXFApp/o6f99o/war/WEB-INF/lib/javax.ws.rs-api-2.1.jar!/javax/ws/rs/ext/RuntimeDelegate.class to jar:file:weblogic/oracle_common/modules/javax.ws.rs.javax.ws.rs-api.jar!/javax/ws/rs/ext/RuntimeDelegate.class
  1. 创建 weblogic.xml 设置 filter classloader 从war 包中加载 class.
<?xml version="1.0" encoding="UTF-8"?><wls:weblogic-web-app    xmlns:wls="http://www.bea.com/ns/weblogic/weblogic-application"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsdhttp://xmlns.oracle.com/weblogic/weblogic-web-apphttp://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">    <wls:weblogic-version>12.2.1</wls:weblogic-version>    <container-descriptor>        <show-archived-real-path-enabled>true</show-archived-real-path-enabled>          <prefer-web-inf-classes>false</prefer-web-inf-classes>        <wls:prefer-application-resources>            <wls:resource-name>META-INF/services/*</wls:resource-name>            <wls:resource-name>javax.jws.*</wls:resource-name>             <wls:resource-name>javax.ws.rs.*</wls:resource-name>             <wls:resource-name>com.ctc.wstx.*</wls:resource-name>            <wls:resource-name>javax.wsdl.*</wls:resource-name>            <wls:resource-name>org.apache.cxf.*</wls:resource-name>            <wls:resource-name>org.aspectj.*</wls:resource-name>            <wls:resource-name>org.slf4j</wls:resource-name>            <wls:resource-name>org.apache.*</wls:resource-name>            <wls:resource-name>org.springframework.*</wls:resource-name>            <wls:resource-name>com.fasterxml.jackson.*</wls:resource-name>        </wls:prefer-application-resources>        <wls:prefer-application-packages>            <wls:package-name>javax.jws.*</wls:package-name>             <wls:package-name>javax.ws.rs.*</wls:package-name>             <wls:package-name>com.ctc.wstx.*</wls:package-name>            <wls:package-name>javax.wsdl.*</wls:package-name>            <wls:package-name>org.apache.cxf.*</wls:package-name>            <wls:package-name>org.aspectj.*</wls:package-name>            <wls:package-name>org.slf4j</wls:package-name>            <wls:package-name>org.apache.*</wls:package-name>            <wls:package-name>org.springframework.*</wls:package-name>            <wls:package-name>com.fasterxml.jackson.*</wls:package-name>        </wls:prefer-application-packages>    </container-descriptor></wls:weblogic-web-app>
  1. 在 WEB-INF/lib 目录中 加入所有apache cxf 所需的 jar 包。
    必须有: jax-rs api cxf-rt-frontend-jaxrs.jar
    lib中的部分 jar
  2. 下面就是 做一个 CLASSloader magic 了。
    先部署一个 简单的 纯 JAX-RS api 实现的rest app. 部署成功以后 设置 这个应用的 部署顺序为 50.(小于100的一个数字都可以)。
  3. 部署 CXF 应用程序。
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 暗物质是什么 新精神活性物质又称为 中国非物质文化遗产 反物质粒子怎么获得 物质的量分数 非物质文化遗产有哪些 物质根本属性 非物质文化遗产定义 物质决定意识 物质的根本属性 物质文化遗产 物质女是什么意思 标准物质中心 有害物质检测机构 有毒有害物质检测 标准物质网站 计量院标准物质 环保部标准物质研究所 标准物质查询 标准物质购买 环保部标准物质 碱性物质有哪些 构成物质的基本微粒 熔点仪标准物质 化妆品有害物质 能量是物质吗 高中化学物质颜色 大分子物质有哪些 标准物质和标准溶液 离子构成的物质 物质是由什么组成的 原子构成的物质 生物活性物质 投放危险物质 物质什么意思 环境标准物质网 物质的存在形式 时间是物质吗 熔点标准物质 生理碱性物质 物质进出细胞的方式