如何在 Eclipse 中使用独立的 HSQLDB 创建可执行 jar

How to create executable jar with standalone HSQLDB in Eclipse

我在 Eclipse 中有一个 java 项目,其结构如下:

MyProjectFolder
  |
  ├─ src
  ├─ data
  ├─ lib

在这个项目中,我在独立模式下使用 HSQLDB。数据库文件存储在数据文件夹中,我在建立连接时使用 URL 访问它们:

"jdbc:hsqldb:file:./data/" + dbname

在 Eclipse 中执行项目时一切正常。现在我试图将项目导出到一个可运行的 jar 中,但它无法连接到数据库。我试图将数据文件夹添加到 Eclipse 中的源列表中,还尝试将文件夹手动添加到 jar 中,甚至将数据文件夹放在项目文件夹之外并相应地更改 url,但没有任何效果worked ¿是否有可能使用 jar 来实现? ¿ 还是我应该使用另一种方法部署应用程序?

如果要连接到 jar 文件中的数据库,则必须使用 jdbc:hsqldb:res: 而不是 jdbc:hsqldb:file:。但是如果你想写入数据库并且这在 jar 文件中是不可能的,我可能会在 jar 中放置一个默认数据库,如果在 jar 之外的定义位置没有找到数据库,程序将复制默认数据库到定义的地方,然后连接到数据库。

您不能连接到jar 文件之外的数据库,对吗?如果是这样,请向数据库解释你的目录结构和整个URL。