如何在运行时调试 jar?
我陷入了一个非常奇怪的位置(从我的java新手的角度来看):
使用Eclipse,我编写了一个“java程序”(一些带有类的.java文件),它基本上(批处理)读取文本*.csv文件,“评估”其内容,并将结果写出到*_out.csv文本文件中。要找到输入文件,它使用“文件选择器”(从此处获取示例:http://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html)
我调试了所有代码,并使用调试器,它可以正常工作。
我运行了代码(主类,它按顺序调用所有其他类),它在Eclipse中工作。
我将项目的所有内容导出到一个“可运行的jar”文件中。
请注意,除了文件选择器之外,这主要是一个读取和写入的“批处理”:几乎没有用户界面。在 Eclipse 中,我使用“if(debug) System.out.print(”something to print“)”)等内容显示了一些内部结果;“在调试时设置”调试“TRUE,在生产环境中设置 FALSE。
以上都有效!
现在,启动可运行的jar(在Win / XP中双击jar文件),我可以看到文件选择器,我可以使用它,但是,在选择输入文件之后...仅此而已:(没有用户界面)我不知道文件是否被读取,我没有看到任何生成的输出文件,我甚至没有“控制台”来列出任何中间调试消息,以查看jar是否正常工作,即使我将其重新导出,调试变量设置为TRUE。
有没有办法“运行时调试”正在运行的jar(如VB的MsgBox或其他)?某种“日志文件”我可以“启用”或查看?(显然,由于我的jar没有写入结果文件,所以我不能尝试编写*.log)我还必须说,除了Eclipse之外,我就无法在我的机器上安装其他设备(而且很幸运它运行了),所以没有通常的开发人员工具,实用程序和其他有用的东西。