【问题标题】:Program stopped working after creating a .jar file with Netbeans使用 Netbeans 创建 .jar 文件后程序停止工作
【发布时间】:2011-03-15 11:41:51
【问题描述】:

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

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

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

【问题讨论】:

  • 你想买元音吗?
  • @kaka09,在这里,我们非常习惯于正常的英语语法,使用 shift 键和段落。能否请您重写问题,以增加获得更多答案的机会!?
  • 这是什么英语方言?对我来说听起来像卡卡:)
  • @Andreas_D 我觉得你太客气了 :)
  • @eugener - 我今天达到了我的 10k 代表,我必须要有礼貌 :-))

标签: java netbeans jar executable-jar


【解决方案1】:

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

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

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

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

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

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

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

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

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

【讨论】:

  • 不,我没有收到任何类型的错误。 jar 文件是可执行的。我试图提取 .jar 文件的内容并尝试通过 notepad++ 打开 META-INF 文件夹中的 manifest.mf 文件。类路径列下的字段为空。看到我告诉你确切的问题,当我双击我的 .jar 文件时,主框架窗口会按原样出现。现在dere是主框架上的一个按钮,用于在数据库中搜索单词匹配并在单击时显示其含义,但不显示含义。 dis 可能是由于.jar 文件无法连接到mysql 服务器。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2014-05-27
    • 1970-01-01
    • 2013-12-25
    • 2017-11-19
    • 2014-07-02
    • 2018-07-04
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    相关资源
    最近更新 更多