Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Eclipse中测试应用程序时读取为JAR准备的XML文件_Java_Xml_Eclipse_Ant - Fatal编程技术网

Java 在Eclipse中测试应用程序时读取为JAR准备的XML文件

Java 在Eclipse中测试应用程序时读取为JAR准备的XML文件,java,xml,eclipse,ant,Java,Xml,Eclipse,Ant,在学习Java中的Swing GUI时,我在Eclipse的帮助下编写了一个小应用程序。我还在进行Ant构建脚本编写的第一步,遇到了一个小问题 我正在解析一个XML文件,以创建要存储在列表中的对象。通过将以下内容添加到Jar命令,我已将Ant构建脚本分配给Jar包,以将XML文件包含在Jar包中: <zipfileset dir="${basedir}" includes="countries.xml" /> 然后使用DocumentBuilder的parse()方法对其进行解析

在学习Java中的Swing GUI时,我在Eclipse的帮助下编写了一个小应用程序。我还在进行Ant构建脚本编写的第一步,遇到了一个小问题

我正在解析一个XML文件,以创建要存储在列表中的对象。通过将以下内容添加到Jar命令,我已将Ant构建脚本分配给Jar包,以将XML文件包含在Jar包中:

<zipfileset dir="${basedir}" includes="countries.xml" />
然后使用
DocumentBuilder
parse()方法对其进行解析

那么,这就是我问题的核心。在我运行Ant构建脚本并执行Jar包之后,XML文件很容易被类访问,并且程序运行没有问题,但是如果我只想在Eclipse(Ctrl+F11)中测试运行它,显然找不到XML文件


有没有办法解决这个问题?

您可以在Eclipse运行配置中将此文件所在的目录添加到类路径中

如果您将XML文件与Eclipse项目中的源文件放在同一目录中,那么在Eclipse中运行时将能够找到该文件


如果不想将XML文件添加到源中,可以在eclipse中创建第二个“源文件夹”,并将文件存储在那里。运行时应该可以找到该文件。

哇,它真的那么简单。我应该从一开始就知道把它放在sources目录中。这真是奇迹,只需将zipfileset dir属性更改为my sources目录。
InputStream is = getClass().getClassLoader().getResourceAsStream(COUNTRY_XML);