Java运行时异常:无法创建锁管理器

时间:2015-04-07 14:29:54

标签: java linux ubuntu

当我在unix shell上以root身份运行脚本时,它运行良好,例如:

sh -x /opt/auto/wso2is/bin/wso2server.sh 

但是,当我以非root用户身份运行时,我收到以下错误:

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.wso2.carbon.bootstrap.Bootstrap.loadClass(Bootstrap.java:63)
    at org.wso2.carbon.bootstrap.Bootstrap.main(Bootstrap.java:45)
Caused by: java.lang.RuntimeException: Unable to create lock manager.
    at org.wso2.carbon.server.CarbonLauncher.launch(CarbonLauncher.java:115)
    at org.wso2.carbon.server.Main.launchCarbon(Main.java:163)
    at org.wso2.carbon.server.Main.main(Main.java:95)
    ... 6 more

造成这种情况的原因是什么?

我声明了以下环境变量:

JRE_HOME=/usr/java/jre1.7.0_51 

PATH=/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/kde3/bin:/usr/lib/java/jre/bin:/usr/local/bin

JAVA_BINDIR=/usr/java/jdk1.7.0_51/bin

JAVA_HOME=/usr/java/jdk1.7.0_51

JDK_HOME=/usr/java/jdk1.7.0_51 

JAVA_ROOT=/usr/java/jdk1.7.0_51

根据http://www-01.ibm.com/support/docview.wss?uid=swg21600112, 我对文件夹没有正确的权限,但我怎么知道知道哪个?

1 个答案:

答案 0 :(得分:0)

我找到了一种解决方法,可以提供一些提示,说明由于之前使用root用户帐户启动而在权限上更改了哪些文件。

您可以使用非root用户帐户执行du -skh /opt/auto/。当您尝试检查属于root用户的文件/文件夹时,您将获得权限被拒绝。然后,您应该在这些文件/文件夹上执行chown -R "<non-root-user>:<non-root-user> <file/folder>

更改文件/文件夹的所有权后,请尝试重新启动(通过执行/opt/auto/wso2is/bin/wso2server.sh)。你应该能够得到wso2carbon日志。再次研究日志并对仍有权限错误的文件/文件夹进行进一步修改。