Eclipse RCP:使用配置目录

7 java eclipse rcp

我的Eclipse RCP应用程序需要一个配置文件,其中包含一些连接到远程数据库的信息.存储此配置文件的最佳位置在哪里?

为此,我可以使用默认配置目录(通常存储'config.ini')吗?如果是这样,我如何以编程方式将File实例获取到此位置?我还注意到我的Eclipse IDE中不存在此目录.

谢谢.

jam*_*esh 5

根据您的要求,您可以一如既往地使用多种选项.

  • 使用运行时首选项存储在具有合适的PreferenceInitializer的PreferenceStore中.相当大的和广泛的API有很多想法进入它.默认情况下,首选项不会向用户或管理员公开,因此您需要做一些工作来公开首选项页面或写入属性文件.

对于不太高级/较少的工作,特别是如果您无法访问eclipse首选项(例如服务器端OSGi):

  • 在RCP.ini中设置为系统属性.启动后不能用户更改,需要访问RCP.ini(eclipse.ini)文件,这可能是特别是如果您没有贡献IDE.
  • 设置为系统属性,作为快捷方式中的参数.取决于用户使用快捷方式.需要在安装时生成专用快捷方式.

如果文件系统的可访问性非常重要,那么我会考虑使用上面的方法之一来设置etc目录,etc如果首次使用时它们不存在,那么让你的bundle在目录中生成默认属性文件.这基本上是滚动你自己的首选项存储,所以如果你有访问首选项包,你最好这样做.这个相当旧的用户设置常见问题解答也可能有用.

我确实记得有一个Erich Gamma(如四人组和JDT技术主管)访谈中他说有大约七种不同的偏好机制,他从来不知道使用哪一种.


Ovi*_*ler 0

通常,我喜欢将配置文件隐藏在“bin”目录中,或者不在根目录中的某个位置。您可能应该将其保存在项目的子目录中,这样就不会弄乱系统上的某个随机位置。如果您需要获取文件的句柄,您可以这样做:

File configFile = new File("./bin/remoteDbConfig.ini");
Run Code Online (Sandbox Code Playgroud)

然后,如果它是一个真正的 ini 文件,您可以使用Properties.load()加载并使用 ini 文件中的值。

您还可以使用首选项 API 来存储远程连接所需的数据。