我现在遇到了一个比较奇怪的问题(从java新手的角度来看):
使用Eclipse编写了一个“Java程序”(包含一些类的.java文件),该程序主要是批量读取文本*.csv文件,对其内容进行“评估”,并将结果写入*_out.csv文本文件。为了定位输入文件,它使用了一个“文件选择器”(从这里获得示例:http://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html)
我已经调试过所有的代码,并且使用调试器,它工作正常。
我运行了代码(主类,按顺序调用所有其他类),在Eclipse中工作正常,但是出了Eclipse后就不行了。
我导出了所有项目内容到一个“可运行的jar”文件中。
请注意,文件选择器除外,这基本上是一个批处理程序,只能读写:几乎没有用户界面。在Eclipse中,我使用类似于“if(debug) System.out.print("something to print");”这样的语句显示了一些内部结果,在调试时设置“debug”为TRUE,而在生产环境中设置为FALSE。
以上全部都可以工作!
现在,启动可运行的jar文件(在Win/XP上双击jar文件),我可以看到文件选择器,我可以使用它,但是,在选择了输入文件之后... 就没有更多的反应了:(由于没有用户界面)我不知道文件是否已读取,我也看不到任何生成的输出文件,并且我甚至没有“控制台”来列出任何中间调试消息,以查看jar是否在工作,即使我重新导出并将调试变量设置为TRUE。
有没有一种方法可以像VB的MsgBox或其他工具一样“运行时调试”正在运行的jar?我可以“启用”或查看某个“日志文件”吗?(显然,由于我的jar未编写结果文件,我只能尝试编写*.log文件)
我还要说的是,我在我的机器上除了Eclipse之外,不能安装其他开发工具、实用程序和其他有用的东西。