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

我试图在一个 linux框上运行不同用户的多个jvms(包括tomcat).我没有看到太多的问题,但是在catalina.out中,我一直看到: May 30, 2014 1:16:16 PM org.apache.catalina.startup.Catalina startINFO: Server startup in 7626 msMay 30, 2014 1:16:37 PM 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.

我做了一些挖掘/阅读,并推导出以下几点:

具有根访问权限的管理员必须使用drwxr-xr-x访问创建系统首选项目录/etc/.java/.systemPrefs.

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

手动创建上述文件(使用“touch”创建空文件)及其包含的目录应该可以修复.文件的权限应为544,其目录的权限应为755,所有者和组均为root.

我不是root,让某人运行root是昂贵的,我有多个用户运行jvms,这是否意味着我必须创建这些文件和设置权限,以便所有用户都可以访问这些权限?

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

解决方法

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

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 – Setting Preferences backingstore directory

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部