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

Java首选项:无法锁定用户首选项。锁定文件访问被拒绝,java,linux,apache-spark,preferences,securityexception,Java,Linux,Apache Spark,Preferences,Securityexception,我在Linux机器上运行Java Spark服务器,试图存储用户首选项,我遇到两个主要问题: 虽然我可以在运行时获取/设置首选项,但每次我杀死程序并再次运行时,首选项都会被删除 有时我会收到此错误(可能与用户同时请求不同页面有关): 线程“Timer-0”java.lang.SecurityException中出现异常:无法锁定用户首选项。锁定文件访问被拒绝 我的代码如下所示: ... prefs = Preferences.userRoot().node(PREFS_NAME); ... g

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

  • 虽然我可以在运行时获取/设置首选项,但每次我杀死程序并再次运行时,首选项都会被删除

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

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

  • 我的代码如下所示:

    ...
    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 chmod -R 775 ~/.java/
    sudo chown -R username:root ~/.java/
    

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

    尝试使用@programmer5000运行代码,同样的问题