Java运行时异常: Unable to create lock manager

标签 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 , 我没有某个文件夹的正确权限,但我如何知道是哪个文件夹?

最佳答案

我找到了一种解决方法,可以提示您由于之前使用 root 用户帐户启动而导致哪些文件的权限发生了更改。

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

更改文件/文件夹的所有权后,请尝试再次启动它(通过执行/opt/auto/wso2is/bin/wso2server.sh)。您应该能够打印 wso2carbon 日志。再次研究日志,对仍然存在权限错误的文件/文件夹进行进一步修改。

关于Java运行时异常: Unable to create lock manager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29494083/

相关文章:

java - JComboBox 和 Action、新模型等

java - 对象是否封装了数据,以至于同一类的其他实例也无法访问数据?

linux - Bash 脚本无限循环关闭

c++ - 使用 getchar() 获取字符并将它们保存到文件中,每次换行 C++

c++ - 安装 cuda 工具包后 glfwCreateWindow() 失败

linux - nginx 配置 - 动态路由到根路径

c++ - 程序在 Ubuntu 14.04 和 GCC 中编译不正确

java - 使用 while 循环弹跳球,我需要将每次弹跳减少 30% 直到 0,然后退出循环以避免无限循环

java - 未找到 Tomcat Jersey 类

linux - 免费分配的文件描述符总数始终为零 - Ubuntu 14.04 LTS