linux系统中不同用户下的java系统首选项 [英] java system preferences under different users in linux

查看:2744
本文介绍了linux系统中不同用户下的java系统首选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to run multiple jvms (including tomcat) under different users on one linux box. I'm not seeing too many issues, but in catalina.out I keep seeing this:

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.

我做了一些挖掘/阅读并推断出以下内容:

I did some digging/reading and deduced the following:

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

An administrator with root access must create the system preferences directory /etc/.java/.systemPrefs with drwxr-xr-x access.

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

Java's looking for /etc/.java/.systemPrefs/.system.lock and /etc/.java/.systemPrefs/.systemRootModFile

手动创建上述文件(使用touch创建空文件)及其包含的目录应该修复。文件的权利应为 544 ,其目录的权利应为 755 ,所有者和群组均为root用户。

Manually creating the above files (use "touch" to create empty files) and their containing directories should fix. Rights to the files should be 544, rights to their directories should be 755, owner and group are root for all.

但是

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

I am not root, getting someone to run root is expensive and I have multiple users running jvms, does that mean i have to create those files and set up permissions just so that all users have access with those privileges?

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

Has anyone ever run into this issue and if they have is there a simpler solution i am missing?

推荐答案

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

Set these settings per user:

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 /

Without creating the directories, some Java virtual machines default to /etc/.

参见: Java - 设置首选项后备目录

这篇关于linux系统中不同用户下的java系统首选项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆