解决WebLogic启动时BEA-171522异常(启动时报classcast exception)

如下异常:

<Jul 27, 2009 10:47:51 AM CST> <Critical> <EmbeddedLDAP> <BEA-171522> <An error occurred while initializing the Embedded LDAP Server. The exception thrown is java.lang.ClassCastException: com.octetstring.vde.backend.BackendRoot cannot be cast to com.octetstring.vde.backend.standard.BackendStandard. This may indicate a problem with the data files for the Embedded LDAP Server. If the problem is with the data files and it can not be corrected, backups of previous versions of the data files exist in /home/***/*_domain/servers/AdminServer/data/ldap/backup.>


<Jul 27, 2009 10:47:51 AM CST> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason:

There are 1 nested errors:

java.lang.ClassCastException: com.octetstring.vde.backend.BackendRoot cannot be cast to com.octetstring.vde.backend.standard.BackendStandard
        at weblogic.ldap.EmbeddedLDAP.start(EmbeddedLDAP.java:273)
        at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

>

在经过多方查证后,发现是由于在项目开发中,曾有项目成员使用root用户启动过WebLogic,造成WebLogic的LDAP文件的权限属性为root:root(前一个为用户,后一个为组),所以在启动的过程中会提示LDAP异常。

知道了原因,再考虑解决方案。既然是权限方面出现了问题,那么就需要将权限修改为正确的属性,使用以下命令,修改weblogic目录的权限:

 
#chown -R weblogic:weblogic

说明:前一个webogic是指用户,后一个weblogic是指用户所属组,而<mydomain_dir>是应用所在domain目录,此外,该命令一定要用root权限执行。

在修改完权限之后,重新启动WebLogic,异常消失,可以正常启动。

/home/weblogic/bea/user_projects/domains/webtrade/servers/AdminServer/data/ldap/ldapfiles
/home/weblogic/bea/user_projects/domains/webtrade/servers/server1/data/ldap/ldapfiles

摘自:http://cloudera.iteye.com/blog/695111

你可能感兴趣的:(exception)