我正在尝试制作具有嵌入式数据库(derby DB)的可执行JAVA应用程序一段时间,但面临一些问题,需要您的宝贵帮助。
也就是说,我使用 Eclipse 作为环境。 我将 Java 应用程序导出到 RUNNABLE JAR 文件,它在我的台式机上运行良好。
这个想法是制作EXE双击图标并将其发送到另一台没有JAVA背景/环境的机器....所以重点是将其发送给另一个用户,该用户将获得exe文件,双击它并使用它。
数据库不仅是可读的,因为应用程序正在表中插入数据。 因此,它在我的机器上运行良好,但是当我将相同的 JAR 文件发送到另一台机器时,我收到错误: “架构测试不存在” 我可以看到应用程序,但没有任何数据,就像与数据库没有连接一样。所以,这是没有用的。
即使我使用 JSmooth、Install4j... 将 JAR 转换为 exe 文件,我也会遇到同样的错误。 所以,首先我必须让 JAR 文件在另一台机器上工作。
在我看来,我对数据库文件做了一些错误的事情。
请让我知道您需要我提供哪些更多信息,并让我知道如何做到这一点。
最佳答案
如果应用程序打算在运行时读取和写入数据,则它不能完全包含在 JAR 文件中,因为您无法将可更新的 Derby 数据库放入 JAR 文件中。您需要一些“安装过程”,也许是用户第一次双击应用程序时运行的一些逻辑,(a) 在用户计算机上为 Derby 数据库找到合适的位置,(b) ) 创建数据库并定义所有表、 View 等,(c) 加载任何初始数据。
然后,在应用程序的后续运行中,它将能够重新打开数据库并继续使用它。
关于带有嵌入式 DERBY DB 的 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10025952/