Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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 如何在可执行JAR中加载TestNG配置?_Java_Maven_Jar_Testng_Executable Jar - Fatal编程技术网

Java 如何在可执行JAR中加载TestNG配置?

Java 如何在可执行JAR中加载TestNG配置?,java,maven,jar,testng,executable-jar,Java,Maven,Jar,Testng,Executable Jar,我有一个由Maven构建创建的着色可执行jar。我有一个主类,它执行并尝试运行一组TestNG测试。它一直运行,直到尝试加载测试的xml配置文件为止。主类中的步骤包括: suites.add("testng-A.xml"); suites.add("testng-B.xml"); testng.setTestSuites(suites); testng.addListener(tla); testng.run(); 问题是我无法让TestNG成功找到x

我有一个由Maven构建创建的着色可执行jar。我有一个主类,它执行并尝试运行一组TestNG测试。它一直运行,直到尝试加载测试的xml配置文件为止。主类中的步骤包括:

    suites.add("testng-A.xml");
    suites.add("testng-B.xml");

    testng.setTestSuites(suites);
    testng.addListener(tla);
    testng.run();
问题是我无法让TestNG成功找到xml文件。我收到一个“java.io.FileNotFoundException:testng-a.xml(没有这样的文件或目录)”错误。JAR中文件的位置为:

    /com/address/MyMainClass 
    /testng-a.xml
    /testng-b.xml
我使用以下命令运行jar:

    java -jar uber.jar

有什么办法可以让它工作吗?

看起来这不能在罐子里完成。无法以这种方式加载testng xml配置。在加载之前,这些文件需要在JAR外部


你能将路径设置为绝对路径吗?看起来这是一个已知的问题:我尝试将路径编码为“/Users/myDevDirectory/target/uber.jar!/testng-a.xml”作为一个实验,但没有成功。这也是你所指的吗?上面的问题1)与此问题无关,2)已结束并解决。我在邮件列表上回复了TERACyTE,请参见下面的链接。在我的java代码中,我将内部资源复制到一个临时文件夹中,并使用TestListenerAdapter使用xml定义运行测试。