JDK&weblogic升级发布项目启动报错问题记录

背景:weblogic 10.3.6升级到weblogic 14.1、Jdk1.6升级至Jdk1.8版本,直接部署war包,未重新编译war包;

启动weblogic受管应用服务时报错:

weblogic.management.DeploymentException: java.lang.ClassNotFoundException: org.mortbay.component.Container$Listener
        at weblogic.application.internal.BaseDeployment.throwAppException(BaseDeployment.java:132)
        at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:244)
        at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:52)
        at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:65)
        Truncated.
    Caused By: java.lang.ClassNotFoundException: org.mortbay.component.Container$Listener
        at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:1035)
        at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:996)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:101)
        at weblogic.utils.classloaders.GenericClassLoader.doFindClass(GenericClassLoader.java:617)
        at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:547)
        Truncated.

在linux服务器下 app/WEB-INF/lib下执行搜索命令:

搜索指定路径下所有jar包中的每个class中是否依赖了某个类 import xx,如果某个jar包中的某个class中 引用了某个类,就将jar包名打印出来

find . -name "*.jar" -exec sh -c '
if jar tf "$1" | grep ".class$" | while read -r classfile; do
unzip -p "$1" "$classfile" | strings | grep -q "org.mortbay.jetty.Connector"
if [ $? -eq 0 ]; then
echo "$1"
exit 0
fi
done; then
exit 0
else
exit 1
fi
' sh {} \;

找到cxf-*.jar 6个jar包,org.mortbay.component.Container类 在cxf-2.0.2.10.jar包的 JettyHTTPServerEngineFactory类中被引用。如项目中不需要可删除 cxf-*.jar 6个jar包或者通过maven仓库引用:

<dependency>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty</artifactId>
    <version>6.1.25</version>
</dependency>
<dependency>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty-util</artifactId>
    <version>6.1.25</version>
</dependency>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值