【发布时间】:2013-07-20 03:39:31
【问题描述】:
我有一个 Java swing 项目,需要在其他计算机上进行测试。我有一些类和一个存储登录信息的 sqlite 数据库。我也有一些 lib jars。该应用程序从用户那里获取信息并将其存储在 sqlite db 中,然后将数据推送到 Web。我想打包我的项目,以便使用我的项目的人只需双击可执行文件或 jar。
我尝试在 Eclipse 中导出到 Runnable Jar 文件,但这并没有给出预期的结果。在创建可运行 jar 并且我第一次运行它之后,它会在它旁边创建 sqlite db,并且不会连接到 Web 链接并发送信息。
如何正确打包我的数据? 这是我的文件夹结构 -
根
--src
----默认包
----休息包
----图片
--lib
--file.fcl
--db.sqlite
【问题讨论】:
-
你没有提供足够的信息——你说“没有连接到网络链接”:它崩溃了吗?它会给出错误消息吗?您是否创建了日志文件或控制台输出以便可以看到来自代码的消息?看起来你可以打包项目了——它运行并创建了数据库——所以你所拥有的很可能是一个程序错误。我们 SO 可以帮助您找出具体的错误是什么,只要提供足够具体的信息,但如果没有信息,我们就无法做到。
-
它在 Eclipse 中运行良好,没有任何错误。在创建可运行的 Jar 后,它会执行、询问用户信息并在任务栏中正常执行。 sqlite db 应该存在于 jar 中。它不应该创建一个。我项目的最后一步是将数据记录推送到 Web 应用程序的数据库中。在这种情况下,它不会因为我可以在我的本地主机中看到没有插入任何记录。 :(
-
我从 cmd 执行它,发现它无法读取 FCL 文件。 fcl 文件是我使用过的软件包的一部分。它抛出错误 - 读取文件'file.fcl'时出错,无法加载文件'file.fcl'
-
在您的原始帖子中,您说“...第一次运行它,它会在它旁边创建 sqlite db”;在评论中你说“sqlite db 应该存在于 jar 中。它不应该创建一个。”。所以我不明白它是什么,这并不重要。我也不知道您是否需要更多帮助——从命令行运行它并获得错误输出是一个不错的举措;现在您可以查找为什么您的程序可以(显然)在 eclipse 中运行但不能从 jar 中读取“file.fcl”。在某个地方有通往它的路径吗?您是否没有将其标记为包含在 jar 中的资源?
-
当我运行 Jar 文件时,它会创建 sqlite db,但它不应该因为我希望它已经存在于 Jar 文件中。我试图生成一个 Runnable Jar 文件。这不要求包含文件。它只是要求启动配置,我在其中选择项目名称和具有 main() 的 java 文件。这是我的文件夹结构 >root >src >default package >rest package >images >lib >file.fcl >db.sqlite
标签: java eclipse exe packaging executable-jar