Eclipse 如何使用runnable Jar打包XML?

Eclipse 如何使用runnable Jar打包XML?,eclipse,jar,path,testng,java-io,Eclipse,Jar,Path,Testng,Java Io,我有一个包含许多testNG类的Java项目。为了调用测试类套件,您需要运行一个XML文件。我在与运行上述XML的XML相同的包中编写了一个类。我将项目导出为一个可运行的jar,它使用main作为启动配置 public class mainTest { public static void main(String[] args) { TestListenerAdapter tla = new TestListenerAdapter(); TestNG test

我有一个包含许多testNG类的Java项目。为了调用测试类套件,您需要运行一个XML文件。我在与运行上述XML的XML相同的包中编写了一个类。我将项目导出为一个可运行的jar,它使用main作为启动配置

public class mainTest {

   public static void main(String[] args) {
       TestListenerAdapter tla = new TestListenerAdapter();
       TestNG testng = new TestNG();
       List<String> suites = Lists.newArrayList();      
       File file = new File("src\\xml\\whole.xml");     
       suites.add(file.getAbsolutePath());
       testng.setTestSuites(suites);
       testng.run();    
   }
}
公共类mainTest{
公共静态void main(字符串[]args){
TestListenerAdapter tla=新的TestListenerAdapter();
TestNG TestNG=新的TestNG();
List suites=Lists.newArrayList();
File File=新文件(“src\\xml\\whole.xml”);
suites.add(file.getAbsolutePath());
testng.setTestSuites(套房);
testng.run();
}
}
我的导出步骤:

  • 右键单击并导出整个项目

  • 选择Runnable JAR文件

  • 选择“mainTest”作为我的启动配置导出到桌面

当我在Eclipse中直接运行这个类时,XML称为fine。但是,当我将整个项目导出为可运行的jar时,会出现此错误


jar似乎在与jar相同的目录(不存在)中查找XML,但XML不应该已经包含在jar中吗?

如果它需要文件名,您基本上无法将其放入jar中。您能解释一下原因吗?据我所知,jar只是一个可运行的“zip”文件夹,所以它不应该将我项目下的所有内容以及相应的文件夹和名称一起打包吗?是的,但是TestNG正在寻找XML文件名。JAR中的资源将以不同的方式访问。这是不幸的:(我想我将不得不单独捆绑XML。有没有其他方法可以让事情在一个全面的文件中工作?