当我尝试使用此命令在控制台 mod 中卸载 weblogic 时(之前使用 GUI 模式卸载失败!)
sh uninstall.sh -mode=console
以下是我得到的异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Layout
at com.bea.plateng.common.util.logging.LogFactory.newLogInstance(LogFactory.java:102)
at com.bea.plateng.common.util.logging.LogFactory.getLog(LogFactory.java:87)
at com.bea.plateng.wizard.WizardController.setupWizardLog(WizardController.java:325)
at com.bea.plateng.wizard.WizardController.<init>(WizardController.java:168)
at com.bea.plateng.wizard.WizardHelper.invokeWizard(WizardHelper.java:161)
at com.bea.plateng.wizard.WizardHelper.invokeWizardAndWait(WizardHelper.java:42)
at com.bea.plateng.wizard.WizardController.main(WizardController.java:933)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Layout
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
我多次使用谷歌搜索,但没有成功。
非常感谢您帮我解决这个问题。
最佳答案
如果您的最终目标只是卸载 weblogic,您可以选择手动删除相关目录。如果您想坚持使用脚本或 GUI,您可以尝试从逻辑上解决 log4j 问题,
- 将 log4j jar 放入 $DOMAIN_NAME/lib
- 如果卸载脚本正在查找 log4j,则意味着 java 进程可能正在从其他嵌套脚本调用,并且正在尝试使用 log4j 写入日志。尝试通过 -cp 命令向该进程提供 log4j jar
- 您的 startWeblogic 和 stopWeblogic 脚本能够成功使用 log4j 吗?如果是,请尝试提供 log4j 路径以按照与这些脚本中相同的方式进行卸载
您必须主要弄清楚为什么 uninstall.sh 正在寻找 log4j。
很难准确回答,因为这些问题在很大程度上是特定于机器的。如果您要使用手动删除选项,请搜索特定于您操作系统的步骤。
关于java - 卸载weblogic时出现log4j错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34390273/