Linux中不同用户下的Java系统偏好设置
我试图在一个Linux机器上以不同用户身份运行多个jvm(包括tomcat)。我没有看到太多问题,但是在catalina.out中,我一直看到:
May 30, 2014 1:16:16 PM org.apache.catalina.startup.Catalina startINFO: Server startup in 7626 ms
May 30, 2014 1:16:37 PM java.util.prefs.FileSystemPreferences$2 run
WARNING: Could not create system preferences directory. System preferences are unusable.
May 30, 2014 1:16:55 PM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode
WARNING: Could not lock System prefs. Unix error code -158097957.
May 30, 2014 1:16:55 PM java.util.prefs.FileSystemPreferences syncWorld
WARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
我做了一些挖掘/阅读,并得出以下结论:
具有root用户访问权限的管理员必须创建系统首选项目录 /etc/.java/.systemPrefs with drwxr-xr-x access.
Java的寻找/etc/.java/.systemPrefs/.system.lock
和/etc/.java/.systemPrefs/.systemRootModFile
手动创建上述文件(使用“ touch”创建空文件),并且其包含的目录应修复。文件的544
权限应为,目录的权限应为755
,所有者和组是所有人的根。
但
我不是root用户,让某人运行root用户非常昂贵,而且我有多个用户正在运行jvms,这是否意味着我必须创建这些文件并设置权限,以便所有用户都可以使用这些特权进行访问?
有没有人遇到过这个问题,如果有的话,我缺少一个更简单的解决方案吗?
回答:
为每个用户设置以下设置:
mkdir -p ~/.java/.systemPrefsmkdir ~/.java/.userPrefs
chmod -R 755 ~/.java
export JAVA_OPTS="-Djava.util.prefs.systemRoot=/home/user/.java -Djava.util.prefs.userRoot=/home/user/.java/.userPrefs"
<run appl>
如果不创建目录,则某些Java虚拟机默认为/etc/
。
以上是 Linux中不同用户下的Java系统偏好设置 的全部内容, 来源链接: utcz.com/qa/425585.html