【问题标题】:Java programme works perfectly in NetBeans, but exits unexpectedly when trying to runJava 程序在 NetBeans 中完美运行,但在尝试运行时意外退出
【发布时间】:2011-09-17 18:28:30
【问题描述】:

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

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

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

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

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

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

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

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

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

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

【问题讨论】:

    标签: java netbeans command-line jar


    【解决方案1】:

    我怀疑从 NetBeans 运行应用程序和从命令行运行应用程序时,类路径存在差异。
    一定有某种异常被抛出,你有没有在 main 方法中得到一个最外层的
    catch (Exception ) 块?

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

    【讨论】:

    • 感谢您的帮助,我发现了我在此线程的其他评论中描述的错误。
    【解决方案2】:

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

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

    最后是库路径。依赖的jar包都放在dist文件夹了吗?

    【讨论】:

    • 感谢您的回复!我实际上已经找到了错误的来源。太尴尬了,我正在考虑改变职业 :-) 我忘记了我已将 stdoutput 重定向到一个字符串变量,该变量又被过滤:任何与特定模式不匹配的输出都被丢弃,所以当应用程序是尖叫着要许可证密钥文件,该消息从未被拾取。我的 try-catch 块没有收到错误消息,因为它不是 Exception 对象,而是一条简单的消息。不管怎样,我现在继续工作:) //Andras
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多