2015-04-07 50 views
0

你好當我運行一個腳本,根上的UNIX shell它的作品,例如:Java運行時異常:無法創建鎖定管理

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, 我沒有一個文件夾正確的權限,不過爲什麼我的意思就知道是哪一個?

回答

0

我發現了一種解決方法,可能會提示您有關由於之前使用root用戶帳戶進行的啓動而對權限進行更改的文件。

您可以使用非root用戶帳戶執行du -skh /opt/auto/。當您嘗試檢查屬於根用戶的文件/文件夾時,您將獲得拒絕權限。然後你應該在這些文件/文件夾上執行chown -R "<non-root-user>:<non-root-user> <file/folder>

更改文件/文件夾的所有權後,請嘗試再次啓動它(通過執行/opt/auto/wso2is/bin/wso2server.sh)。你應該可以打印碳氫化合物日誌。再次研究日誌,並對仍有許可錯誤的文件/文件夾作進一步修改。