使用Netbeans创建.jar文件后,程序停止工作

时间:2010-07-13 18:22:12

标签: java netbeans jar executable-jar

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

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

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

2 个答案:

答案 0 :(得分:2)

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

您可能会检查一些事项:

  • 你得到某种错误吗?
  • jar可执行吗?如果是 - 当您使用java -jar path/to/myjar.jar之类的东西启动应用程序时就是这种情况 - 必须在jar文件Manifest中指定类路径 ,任何-cp值都会被忽略。< / LI>

看看你的上一条评论,我很确定,这是一个类路径问题。数据库驱动程序通常驻留在不同的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

(所有库条目必须以正确的相对或绝对文件路径给出)

答案 1 :(得分:0)

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