NetBeans NbPreferences API在哪里存储其配置文件?

时间:2017-09-28 19:08:21

标签: java file netbeans config archlinux

我使用NetBeans NbPreferences存储我的NetBeans插件的首选项,如下所示:

static Preferences prefsStorage;
prefsStorage = NbPreferences.forModule(LLPreferences.class);
for (int i = 0; i < keyCount; i++){
        prefsStorage.put(keys.get(i).toString(), values.get(i).toString());
        System.out.println("Prefs to store: " + prefsStorage.get(keys.get(i).toString(), ""));
}
prefsStorage.flush();

至少这是一些代码的摘录,只是为了给你一个想法。现在的问题是我需要对程序进行一些调试工作,如果我能够在磁盘上的文本编辑器中实际查看实际的配置文件以查看运行之间实际存在的内容,那将非常有用。然而,即使这样的文档表明它在~/.netbeans,我无法在任何地方找到它,我真的不太确定在哪里看。它不在我的NetBeans安装目录的etc文件夹中。

那么如果该文件确实存在,那么它将被存储在哪里?

我使用带有NetBeans 8.2的Java 8和最新的Arch Linux。

1 个答案:

答案 0 :(得分:1)

首选项不存储在NetBeans安装目录中。它们存储在NetBeans项目的属性文件中,该文件的名称是小写的项目文件名。例如,对于项目 MyProject ,设置存储在 myproject.properties 中。

这里有一个很好的NetBeans教程,只需几分钟,可以在这里找到:

https://platform.netbeans.org/tutorials/nbm-options.html

我使用Java 8和NetBeans 8.2运行该教程,它工作正常,在以下文件夹结构下创建名为 cooloptions.properties 的首选项文件:

preferences file

在我的例子中,包含教程首选项的属性文件的完整路径是:

d:/的NetBeansProjects / CoolOptions /建造/ testuserdir /的配置/偏好/组织/ netbeans的/模块/ cooloptions.properties

该路径的最后部分也应该对您的首选项文件有效:

blah ... blah .... / config / Preferences / org / netbeans / modules / {project name} .properties

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

<强>更新 之前的测试是在Windows 10上运行的。我使用Java 8(u144)和NetBeans 8.2在Linux Mint 18.2上重复测试,结果是相同的:首选项保存在属性文件中,如上所述。 Linux上项目文件结构的一个镜头如下所示。

用于保存首选项的 store()方法(主要基于上面引用的教程)看起来像这样:

static Preferences prefsStorage;

void store() {
    try {
        prefsStorage = NbPreferences.forModule(CoolPanel.class);
        prefsStorage.put("namePreference", jTextField1.getText());
        prefsStorage.flush();
        String absPath = prefsStorage.absolutePath();
        System.out.println("absPath=" + absPath);
    } catch(BackingStoreException e) {
        e.printStackTrace();
    }
}

由于您的代码工作正常,找出您的偏好存储位置的强力方法是为您的某个偏好设置输入一些独特的值,然后使用 grep 找到该文件存储它。

如果这不起作用,我只能建议运行我上面链接的教程,该教程使用 NbPreferences NetBeans模块中保留首选项。它只需要几分钟,它将工作或失败,但无论哪种方式,您可以进一步了解您的问题。

Linux Mint File structure