我使用 Notepad++ 制作了一个简单的 Swing 应用程序,它具有一些数据库连接性,并从命令提示符处执行它。它执行得很完美。
然后我将所有代码复制到 Netbeans 并尝试构建到主项目,以便将我的应用程序打包为 .jar 文件。
.jar 文件已成功创建,但是当我尝试运行它时,它没有正确执行。例如,我的应用程序中有一个按钮,用于显示数据库中存在的所有记录。当我从命令提示符执行时它起作用了,但是当执行 .jar 文件时,没有响应。
我使用 Notepad++ 制作了一个简单的 Swing 应用程序,它具有一些数据库连接性,并从命令提示符处执行它。它执行得很完美。
然后我将所有代码复制到 Netbeans 并尝试构建到主项目,以便将我的应用程序打包为 .jar 文件。
.jar 文件已成功创建,但是当我尝试运行它时,它没有正确执行。例如,我的应用程序中有一个按钮,用于显示数据库中存在的所有记录。当我从命令提示符执行时它起作用了,但是当执行 .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
(所有库条目都必须提供正确的相对或绝对文件路径)
只需将数据库驱动程序复制到 C:\Program Files\Java\jre7\lib\ext 中,然后运行 jar 文件。