Java-读取jar文件之外的文件

Java-读取jar文件之外的文件,java,netbeans,jar,Java,Netbeans,Jar,我有麻烦了 我在wiktionary dump上做了一个项目,这是一个非常大的文件。需求要求转储文件必须作为参数从命令行传递。为了简化我在NetBeans上的工作,我设置了所有参数,将转储文件放入“src”文件夹,一切都很顺利 需求要求项目必须作为jar文件交付。我是一个jar新手,所以我只是复制了netbeans src文件夹,从shell编译了代码,删除了转储文件——因为它不需要放在jar中——并将其压缩为jar文件 现在问题来了:当我从shell运行它时,我得到了java.lang.ref

我有麻烦了

我在wiktionary dump上做了一个项目,这是一个非常大的文件。需求要求转储文件必须作为参数从命令行传递。为了简化我在NetBeans上的工作,我设置了所有参数,将转储文件放入“src”文件夹,一切都很顺利

需求要求项目必须作为jar文件交付。我是一个jar新手,所以我只是复制了netbeans src文件夹,从shell编译了代码,删除了转储文件——因为它不需要放在jar中——并将其压缩为jar文件

现在问题来了:当我从shell运行它时,我得到了java.lang.reflect.InvocationTargetException,这是由java.net.MalformedURLException引起的。我认为问题在于,它只在罐子内部寻找转储,但实际上转储将在罐子外部。。我怎样才能修好它

我不知道这是否重要。。我在ubuntu上工作


谢谢大家的帮助

这真是太多的代码了!失败的语句是XMLStreamReader=factory.createXMLStreamReader ClassLoader.getSystemResourceAsStreamdump;其中dump是从shellClassLoader传递的参数。getSystemResourceAsStream只在Jar中查找。您需要以另一种方式生成InputStream是否确定getSystemResourceAsStream。。?。思想是它处理放置在jar中的资源,也可能在类路径中。如果你想读一个jar之外的文件,那么就用这个文件吧。我在学习如何使用XML解析器时,在网上找到了这段代码。这就是问题所在。谢谢大家!你是最棒的!:@你是对的。它将找到任何可以找到类的资源,即类路径。我的评论被过分简化为他的情况