如何在Java jar文件被执行时调用XML文件

时间:2015-08-11 05:25:53

标签: java xml

我需要将我的XML文件保存在我的Java文件所在的同一位置,并在执行java文件时调用并使用XML。有什么方法可以实现这一目标吗?

以下是我的代码:

File fXmlFile = new File("C:\testing eclipsefolder/workspace/java1`/bin/diliya123/v1.xml");

这里我需要指定XML的文件路径。但我不想给出那条道路,它应该是这样的,当我把我的jar文件交给别人时,它不应该改变它的路径应该每次都是不变的。

当我尝试使用上面的代码运行相同的脚本时,我得到以下类型的错误:

[TestNG] Running:
  C:\Documents and Settings\saalam\Local Settings\Temp\testng-eclipse-1407458964\testng-customsuite.xml

伙计们,请在某些情况下建议我。

3 个答案:

答案 0 :(得分:1)

尝试使用相对路径而不是绝对路径,如下所示:

File fXmlFile = new File("bin/diliya123/v1.xml");

答案 1 :(得分:0)

您提到过将jar文件提供给“其他人”。在这种情况下,如果XML文件捆绑在jar中,这样的东西可能会做你想要的 File fXmlFile = new File(getClass().getClassLoader().getResource("YourXmlFile.xml").getFile());

即使XML文件不能作为jar的一部分捆绑在一起,也要告诉用户将XML文件在其文件系统中的位置添加到调用程序的CLASSPATH中,它应该可以正常工作。

答案 2 :(得分:0)

如果您要将jarxml个文件放在同一个地方(folder),那么您可以简单地给出这样的路径。

File xml_file = new File("v1.xml");

就我而言,我的应用程序需要大量xml个文件。因此,我会将所有xml个文件保存在xml/的单独目录中,并将路径作为

传递
File xml_file = new File("xml/v1.xml");

目录结构将是
enter image description here Application_folder
   enter image description here application.jar
enter image description here xml
enter image description here v1.xml
enter image description here v2.xml
enter image description here v3.xml

当您运行jar时,它将访问xml文件夹中的文件。