Java首选项:无法锁定用户首选项。锁定文件访问被拒绝。

3

我在Linux机器上运行Java Spark服务器,尝试存储用户偏好设置时遇到了两个主要问题:

  1. 虽然我可以在运行时获取/设置偏好设置,但每次杀死程序并重新运行后,偏好设置都会被删除。

  2. 有时我会收到此错误(可能与用户同时请求不同页面有关):

    Exception in thread "Timer-0" java.lang.SecurityException: Could not lock User prefs. Lock file access denied.

我的代码如下:

...
prefs = Preferences.userRoot().node(PREFS_NAME);
...
get("/sample/reset", (req, res) -> {
    prefs.put("bgimg", "test");
    ...
});
get("/sample/", (req, res) -> {
    String bgImgPath = prefs.get("bgimg",BACKGROUND_IMAGE_PATH);
    ...
});

尝试使用sudo运行代码。 - user6560716
@programmer5000 已经尝试过了,问题依旧。 - OmriSoudry
1个回答

4
我使用以下方法解决了这个问题:
sudo chmod -R 775 ~/.java/
sudo chown -R username:root ~/.java/

仅执行第一个命令是不够的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接