eclipse产品访问数据库文件导致错误

时间:2013-10-07 18:38:35

标签: database eclipse file rcp

我正在构建一个RCP应用程序。我只有一个插件项目,我正在尝试导出为产品。 我使用sqlite数据库文件。 虽然我正在测试我的应用程序和我的产品来自Run of eclipse根本没有任何问题, 当我导出产品时,数据库访问失败。这就是我打开数据库连接的方式

dbConnection = DriverManager.getConnection("jdbc:sqlite:"+FileLocator.resolve(Platform.getBundle("BundleID").getEntry("dbFile")).getPath());

我的dbFile在我的项目根文件中,导出后,它在plugins文件夹中的BundleID.jar中找到,因此应用程序无法打开它,因为计算的路径是......就像......插件/ BundleId.jar!/ DBFILE“

“!”之前/是在字符串!!!

为了克服这个问题,我能做点什么吗?

1 个答案:

答案 0 :(得分:1)

FileLocator.toFileURL()返回的URL上使用FileLocator.resolve(),以获得更正常的网址。

注意:这会将您的jar扩展到临时缓存,以便返回正常的文件URL。此缓存不保证是持久的,因此如果您希望数据库更改保持不变,则需要将数据库放在其他位置。

一种可能性是将数据库复制到插件状态数据中的工作空间.metadata(请参阅Platform.getStateLocation(bundle)