0

我使用 Notepad++ 制作了一个简单的 Swing 应用程序,它具有一些数据库连接性,并从命令提示符处执行它。它执行得很完美。

然后我将所有代码复制到 Netbeans 并尝试构建到主项目,以便将我的应用程序打包为 .jar 文件。

.jar 文件已成功创建,但是当我尝试运行它时,它没有正确执行。例如,我的应用程序中有一个按钮,用于显示数据库中存在的所有记录。当我从命令提示符执行时它起作用了,但是当执行 .jar 文件时,没有响应。

4

2 回答 2

2

很难在没有看到一些代码或错误/异常堆栈跟踪的情况下判断。此类问题的最典型原因是不完整的类路径。类路径中可能缺少您的数据库驱动程序类。

您可能会检查的一些事项:

  • 你有什么错误吗?
  • jar 是可执行文件吗?如果是 - 当您使用类似的东西启动应用程序时就是这种情况java -jar path/to/myjar.jar-必须在 jar 文件清单中指定类路径,任何-cp值都将被忽略。

查看您的最后评论,我很确定这是一个类路径问题。数据库驱动程序通常位于不同的 jar 文件中,如果 manifest.mf 文件中的类路径条目为空,则无法加载驱动程序。这应该会导致异常,但可能在某处被捕获。

解决方案 #1 - 编辑 manifest.mf 文件并根据本教程添加所有必需的库:

Class-Path: jar1-name jar2-name directory-name/jar3-name

解决方案 #2 - 不要使用该-jar选项启动应用程序,而是使用标准方式:

java -cp yourLib.jar;database-driver.jar your.application.Main

(所有库条目都必须提供正确的相对或绝对文件路径)

于 2010-07-13T18:28:08.323 回答
0

只需将数据库驱动程序复制到 C:\Program Files\Java\jre7\lib\ext 中,然后运行 ​​jar 文件。

于 2013-09-24T15:23:17.517 回答