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

时间:2017-06-06 16:53:10

标签: java linux apache-spark preferences securityexception

我在Linux机器上运行Java Spark服务器,并且我试图存储用户首选项,并且我遇到两个主要问题:

  1. 虽然我可以在运行时获取/设置首选项,但每次我终止程序并再次运行时,首选项都会被删除。

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

      

    线程中的异常" Timer-0" java.lang.SecurityException:无法锁定用户首选项。锁定文件访问被拒绝。

  3. 我的代码如下所示:

    ...
    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);
        ...
    });
    

2 个答案:

答案 0 :(得分:1)

我通过以下方法解决了这个问题:

sudo chmod -R 775 ~/.java/
sudo chown -R username:root ~/.java/

仅执行第一个命令还不够。

答案 1 :(得分:-1)

尝试在终端中运行sudo chmod 777 ~/.java/