如何使用嵌入式数据库 H2 创建 jar 文件?

Posted

技术标签:

【中文标题】如何使用嵌入式数据库 H2 创建 jar 文件?【英文标题】:how to create jar file with embedded database H2? 【发布时间】:2016-12-02 21:29:31 【问题描述】:

我创建了带有嵌入式数据库 H2 的 javaFX 项目。我已经创建了罐子。在我的电脑上这个程序有效。在其他计算机上,该程序运行但按钮不起作用。我认为它们不起作用,因为项目没有看到数据库。我无法理解如何使用依赖项(数据库)正确构建项目。请帮我用数据库构建jar! 附:我不知道如何使用maven。

【问题讨论】:

调试提示: 1. 对适用的版本与不适用的版本进行递归比较(例如,在扩展任何 zip/jar/etc 后文件/目录层次结构的递归差异)。 2. 如果您发现没有丢失文件(或文件复数)的版本,那么您的假设听起来很有希望它丢失了 db 文件。然后,您可以通过确保您分发的代码(无论是 jar、zip 还是带有文件目录的拇指驱动器或其他任何东西)包含丢失的文件来纠正它(如果是这种情况)。跨度> 您的应用程序可以在一台计算机上运行但不能在另一台计算机上运行的原因有很多,因此很难给出建议。您可能希望使用self-contained application packaging 捆绑和部署您的应用程序。有关您可能(或可能不)希望这样做以及如何这样做的信息包含在链接的文档中。 Makery also provide a deployment tutorial 包括本地存储(文件不是数据库,但类似概念)。 你确实意识到通过嵌入你将无法写入它 【参考方案1】:

这可能不是解决问题根本原因的方法,但可以通过以下方式在 jar 文件中包含数据库:

理论:执行一个脚本,在应用程序启动时创建并填充数据库。这应该只在第一次执行时执行一次。进一步的执行应该使用现有的数据库和数据。

操作方法:使用flyway 或其他工具自动调用简单方法执行脚本。

【讨论】:

以上是关于如何使用嵌入式数据库 H2 创建 jar 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 H2 嵌入式数据库读/写到 JAR 中的文件?

配置嵌入式 H2 用户以进行分发

springboot集成h2

如何使用 H2 嵌入式数据库创建 H2 内存数据库

H2数据库使用

如何使用 Gluon 在 Android 平台上将 H2 数据库连接为嵌入式模式?