沙漠中的鱼

欲上天堂,先下地狱
posts - 0, comments - 56, trackbacks - 0, articles - 119
  BlogJava :: 首页 ::  :: 联系 :: 聚合  :: 管理

部署到weblogic服务包冲突的解决办法

Posted on 2012-07-25 17:02 沙漠中的鱼 阅读(7491) 评论(0)  编辑  收藏 所属分类: Java
当前开发了一个系统,在tomcat下运行正常,但是部署到weblogic下时,却出现了java.lang.NoClassDefFoundError: org/aspectj/weaver/tools/PointcutPrimitive异常,经过查询,原来是当前系统和weblogic类库中都存在存类,超成包冲突的情况。如遇到此类情况,可以通过构建部署ear包,在weblogic-application.xml通过配置优先加载本项目中的包来处理。
在ear工程下的web-info文件夹下,添加两个文件application.xml和weblogic-application.xml。
application.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC
        "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
        "http://java.sun.com/dtd/application_1_3.dtd"
>
<application>
    <display-name>kubpwl</display-name>
    <module>
        <web>
            <web-uri>kubpwl.war</web-uri>
            <context-root>kubpwl</context-root>
        </web>
    </module>
</application>
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.3/weblogic-application.xsd">
    <!--weblogic-version:10.3.6-->
    <wls:application-param>
        <wls:param-name>webapp.encoding.default</wls:param-name>
        <wls:param-value>UTF-8</wls:param-value>
    </wls:application-param>

    <wls:prefer-application-packages>
        <wls:package-name>org.aspectj.weaver.tools.*</wls:package-name>
        <wls:package-name>javax.jws.*</wls:package-name>
    </wls:prefer-application-packages>
</wls:weblogic-application>

prefer-application-packages 表示优先加载项目lib下的包。

只有注册用户登录后才能发表评论。


网站导航: