在linux下的不同用户下的java系统首选项

我试图在一个Linux机器上的不同用户下运行多个jvms(包括tomcat)。 我没有看到太多的问题,但在catalina.out我一直看到这个:

May 30, 2014 1:16:16 PM org.apache.catalina.startup.Catalina start INFO: 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访问权限的pipe理员必须/etc/.java/.systemPrefs with drwxr-xr-x access.权限创build系统首选项目录/etc/.java/.systemPrefs with drwxr-xr-x access.

Java正在寻找/etc/.java/.systemPrefs/.system.lock/etc/.java/.systemPrefs/.systemRootModFile

手动创build上述文件(使用“touch”来创build空文件)及其包含的目录应该被修复。 文件的权利应该是544 ,其目录的权利应该是755 ,所有者和组是根。

我不是root,得到某人运行根本是昂贵的,我有多个用户运行jvms,这是否意味着我必须创build这些文件,并设置权限,以便所有用户有权访问这些权限?

有没有人遇到这个问题,如果他们有一个简单的解决scheme,我失踪了?

Solutions Collecting From Web of "在linux下的不同用户下的java系统首选项"

为每个用户设置这些设置:

 mkdir -p ~/.java/.systemPrefs mkdir ~/.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/

另请参阅: Java – 设置首选项backingstore目录

我的想法是,即使你有不同的用户,JVM仍然是一个用户读取tomcat,因为它是相同的过程。 也许你需要的是一个用户管理机制? 登录并注销