Java程序在NetBeans中运行良好,但在尝试运行时意外退出

时间:2011-06-18 12:32:21

标签: java netbeans command-line jar

我今天遇到了一个奇怪的问题。我将尝试尽可能详细地描述我正在制作的步骤。

  1. 我在NetBeans中创建了一个Java应用程序。通过单击“运行主项目”,在NetBeans中运行时,应用程序无异常运行。完整运行的总持续时间约为1分钟。

  2. 构建项目时,我在NetBeans的输出窗口中看到以下选项:

    要从没有Ant的命令行运行此应用程序,请尝试:

    java -jar "C:\java_libraries\PrxJobCommunicator\dist\PrxJobCommunicator.jar"
    
  3. 所以我打开命令提示符(Windows 7),输入此命令+提供必需的整数参数并按Enter键

  4. 应用程序开始运行,运行几秒钟并退出,没有任何消息。

  5. 应用程序在代码中的不同位置写入文本文件,因此我能够将输出跟踪到停止运行时的点。我故意对文件编写器方法进行一些额外调用,以便找到程序继续/退出的位置,但无济于事。看起来程序只是停止在某一行上运行,就是这样。

  6. 我真的不知道问题是什么:应用程序在NetBeans中运行良好,并且在从命令行启动时没有任何消息而失败。

    我应该检查NetBeans中的任何特殊内容吗?你是否知道调试jar文件的任何特殊技术,如果它是从命令行启动的?

    欢迎提供任何线索。 谢谢,安德拉斯

2 个答案:

答案 0 :(得分:2)

我怀疑从NetBeans运行应用程序时以及从命令行运行应用程序时类路径存在差异。
必须有某种异常被抛出,你有一个最外面的 主方法中的catch (Exception )阻止了吗?

您可以尝试使用“远程调试”来调试应用程序,虽然您不会通过网络进行调试,但您仍然可以使用此方法来捕获NetBeans中命令行启动的断点。 这篇文章解释了如何使用NetBeans http://manikandanmv.wordpress.com/2009/09/24/debugging-java-applications-with-netbeans/

进行远程调试

答案 1 :(得分:1)

Netbeans默认使用您的项目文件夹作为工作文件夹。这意味着当您从控制台运行程序时,您必须使用CD C:\ java_libraries \ PrxJobCommunicator 然后运行java -jar“C:\ java_libraries \ PrxJobCommunicator \ dist \ PrxJobCommunicator.jar”

如果失败,请检查命令提示符中使用的java版本。 java -version 它必须与netbeans使用的相同。

最后是库路径。所有依赖的罐子都放在dist文件夹中吗?