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

前端之家收集整理的这篇文章主要介绍了java系统首选在linux下的不同用户前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在一个 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

原文链接:https://www.f2er.com/java/125429.html

猜你在找的Java相关文章