【发布时间】:2014-05-29 08:39:30
【问题描述】:
我一直在寻找一段时间,但还没有找到我想要的东西。因此,我有一个用 Java 编写的项目,并创建了一个嵌入到项目中的小型 Derby 数据库。现在,在创建项目的可执行 jar 时,我无法再访问数据库,除非我将 derby 数据库文件放在可执行 jar 所在的同一目录中。但是,我不希望这样,我真的希望数据库文件在 jar 内。
我试图将数据库文件放在一个包中并像这样引用它,但没有任何运气。有人能指出我怎样才能让它工作吗?
谢谢!
编辑 这里的目标是我想创建多个可执行 JAR 文件并将它们上传到 Sun Grid Engine 并使用不同的参数执行每个 jar。但是,他们都需要能够访问数据库,直到现在,当 1 个应用程序已经启动 derby 数据库时,我得到一个错误,另一个应用程序无法访问它。因此所有 jar 文件都需要有自己的数据库。
【问题讨论】:
-
它是只读数据库,还是您打算在您的应用程序中更新它?
-
它是一个只读数据库
-
不能选择将其解压到某个临时目录并在关闭应用程序时将其删除?
-
你给我的链接(并且已经删除)说:“数据库应该在你运行 jar 的文件夹中。”这正是我不想要的。 - 我在原帖中添加了我的目标。
-
我没有链接那个 (stackoverflow.com/questions/11864443/…) 但我确实看过它。关键可能在“检查文档如何指定连接 url”中。这是可能的。罐子只是一个拉链。连接 url 可以处理 jar 的内容。我依稀记得做了类似的事情来访问一些位图和资源而不提取它们。