我今天遇到了一个奇怪的问题。我将尝试尽可能详细地描述我正在制作的步骤。
我在NetBeans中创建了一个Java应用程序。通过单击“运行主项目”,在NetBeans中运行时,应用程序无异常运行。完整运行的总持续时间约为1分钟。
构建项目时,我在NetBeans的输出窗口中看到以下选项:
要从没有Ant的命令行运行此应用程序,请尝试:
java -jar "C:\java_libraries\PrxJobCommunicator\dist\PrxJobCommunicator.jar"
所以我打开命令提示符(Windows 7),输入此命令+提供必需的整数参数并按Enter键
应用程序开始运行,运行几秒钟并退出,没有任何消息。
应用程序在代码中的不同位置写入文本文件,因此我能够将输出跟踪到停止运行时的点。我故意对文件编写器方法进行一些额外调用,以便找到程序继续/退出的位置,但无济于事。看起来程序只是停止在某一行上运行,就是这样。
我真的不知道问题是什么:应用程序在NetBeans中运行良好,并且在从命令行启动时没有任何消息而失败。
我应该检查NetBeans中的任何特殊内容吗?你是否知道调试jar文件的任何特殊技术,如果它是从命令行启动的?
欢迎提供任何线索。 谢谢,安德拉斯
答案 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文件夹中吗?