0

我有一个用 Java 创建的应用程序,它使用 SQLite 数据库。这存储在我项目的 bin 和 src 文件夹中。导出(从 Eclipse)JAR 时,它工作正常。应用程序能够访问 JAR 中的数据库。我用于 connectionString 的代码如下: -

public static String connectionString = "jdbc:sqlite::resource:MAIN_DATABASE.sqlite";

我的问题是当我将 JAR 导出后移动到另一个文件夹时。它在导出 JAR 时重置为原始数据库。因此,应用程序对数据库所做的任何更改都会丢失。如果我再次将其移回原始路径,则更改会重新出现。

因此,JAR 中的某处似乎存在“硬编码”路径。有谁知道这是在哪里以及如何发生的。就像它为您放置 JAR 的每个新位置创建一个新数据库一样。

如果我可以提供更多详细信息来帮助您回答,请告诉我。抱歉,如果我没有正确描述我的问题,我对这个站点和 Java 编程都是新手。:)

非常感谢

4

1 回答 1

0

问题排序。这与我如何从 Eclipse 导出 JAR 有关。如果我选择“将所需的库打包到生成的 JAR 中”而不是“将所需的库提取到生成的 JAR 中”,我可以随意移动 JAR 并且数据库保持完整。

无论如何,我会考虑在我的应用程序的最终版本中不包括 JAR 中的数据库。如果数据库是外部的,那么访问、备份和更新应用程序将很容易。

于 2013-06-15T13:25:42.717 回答