weblogic查看补丁版本报错 java.lang.NoClassDefFoundError, java.lang.ClassNotFoundException

**

weblogic查看补丁版本时报错: java.lang.NoClassDefFoundError,java.lang.ClassNotFoundException

**

问题详情

打补丁前,先查看目前的weblogic补丁版本

[weblogic@host bsu]$./bsu.sh  -prod_dir=/home/weblogic/Oracle/Middleware/wlserver_10.3 -status=applied -verbose -view
Exception in thread "Main Thread" java.lang.NoClassDefFoundError: com/bea/plateng/patch/Patch
Caused by: java.lang.ClassNotFoundException: com.bea.plateng.patch.Patch
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: com.bea.plateng.patch.Patch. Program will exit.

排查过程

通过查看MANIFEST.MF文件发现了这么一行:
Class-Path: …/…/modules/features/com.bea.cie.patch-client_3.3.0.0.jar
下面,我们来寻找这个jar 包。

[weblogic@host features]$ pwd
/home/weblogic/Oracle/Middleware/modules/features
[weblogic@host features]$ 
[weblogic@host features]$ ll | grep com.bea.cie.patch-client_3.3.0.0.jar
[weblogic@host features]$ 

这里要注意的是,不同的环境,可以路径不同,但 “modules/features” 是不变的。
同时,也发现其他weblogic服务器上存在的jar包,这台服务器上没有。好了,问题已经找到了,打补丁所依赖的jar包的缺失 最终导致了 java.lang.NoClassDefFoundError报错 和 java.lang.ClassNotFoundException报错。

解决方案

通过对比发现,不同的weblogic主机,同一个jar包,虽然名称一样,但是包的sha256不同。
为安全起见,解决方案是做好备份,重装weblogic ,哈哈。

希望抛砖引玉,大家有更好的解决方案欢迎留言!
写于 July 27, 2019,修改于July 28, 2019

在这里插入图片描述

发布了13 篇原创文章 · 获赞 0 · 访问量 3061

猜你喜欢

转载自blog.csdn.net/Alan1921/article/details/97521550