weblogic启动节点服务器报错,java.lang.ClassCastException:com.octestring.vde.backend.BackendRoot cannot be cast to com.octestring.vde.backend.standard.BackendStandard类型转换异常,导致初始化application失败。
具体错误如下图
其实从错误堆栈里看不出来啥的,重点在第一个图的上部分,已用红线标出
再截出来仔细看看。很明显,说的是EmbeddedLDAP.tran这个文件打开失败了,原因是Permission denied 权限不够。以及下面的红线处,标的是一个文件夹路径,data下的ldap下的backup文件夹。
所以我们进去看看这两个地方。
我们进入backup这个目录
发现它下面的文件的创建者和组都是root用户,因为我们现在使用的是非root用户启动的weblogic(用户为root的话,需要的权限太高了,只有root能有权限启动)。同样EmbeddedLDAP.tran这个文件也是这个原因,不再截图。
之所以会变成root用户,是因为之前切换到root用户启动了weblogic。
解决办法:
1、先登录到root用户,停掉weblogic服务。
2、修改这些文件的拥有者和组。(怎么改?chown 用户名 文件名。chgrp 用户名 文件名。backup文件好几个,快速改可以用-R参数修改文件夹下的所有文件及文件夹,chown -R 用户名 文件夹。chgrp -R 用户名 文件夹)
3、修改完后,切回普通用户,再启动即可。