我对Java很新。我已经制作了许多在Eclipse安全的情况下运行的程序,但是我无法获得一个程序,我在JAR形式的IDE之外正常运行。
在我提出真正的问题之前,我会提供一些背景资料。我写了一个程序,搜索.txt
文件名单中的公寓居民,一旦选择了居民,该程序允许用户将居民添加到邮件列表,并将该邮件列表生成为Excel(.xls
)文件通过FileOutputStream
和Apache POI HSSF API。该程序包含在NetBeans中实现的Swing GUI。在Eclipse中,我的项目文件夹中有我的名单Roster.txt
,位于我的src和库的目录中。为了阅读.txt
文件,我使用Scanner
类,即Scanner scan = new Scanner(new File("Roster.txt"));
。
所有这些在Eclipse中完美运行:我可以在邮件列表中添加/删除居民,并将.xls
文件生成到我的项目文件夹中。但是,一旦我尝试将项目导出为JAR,所有功能都会消失。我选择了File-> Export-> Runnable JAR文件,JAR会弹出我的桌面,就像它应该的那样。当我单击该文件时,GUI完全加载,并且所有Swing组件似乎都正常工作;但是当我搜索一个名字时,没有结果显示出来。这让我相信在创建JAR之后,Roster.txt
文件没有正确读入我的排序类。
创建JAR是否会影响标准Java I / O?我应该使用args[]
吗?如何实现不同于仅使用scanner类来创建新的(new File("Roster.txt")
)?