Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.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 在没有XML的情况下以编程方式运行testng会抛出NoSuchMethodError XmlPackage_Java_Testng_Pom.xml_Nosuchmethoderror - Fatal编程技术网

Java 在没有XML的情况下以编程方式运行testng会抛出NoSuchMethodError XmlPackage

Java 在没有XML的情况下以编程方式运行testng会抛出NoSuchMethodError XmlPackage,java,testng,pom.xml,nosuchmethoderror,Java,Testng,Pom.xml,Nosuchmethoderror,我正在尝试运行testng并获得下面的异常 TestngManager.java pom.xml 错误: 严重:路径为[/SERVER\u PING]的上下文中Servlet[automation.Report]的Servlet.service引发了带有根本原因的异常[Servlet执行引发了异常] java.lang.NoSuchMethodError:org.testng.xml.XmlPackage.Ljava/lang/String;v 在com.mycopmany.myproduc

我正在尝试运行testng并获得下面的异常

TestngManager.java

pom.xml

错误:

严重:路径为[/SERVER\u PING]的上下文中Servlet[automation.Report]的Servlet.service引发了带有根本原因的异常[Servlet执行引发了异常] java.lang.NoSuchMethodError:org.testng.xml.XmlPackage.Ljava/lang/String;v 在com.mycopmany.myproduct.test.utils.TestngManager.runTestngManager.java:27 位于automation.Report.doGetReport.java:35 位于javax.servlet.http.HttpServlet.serviceHttpServlet.java:622 位于javax.servlet.http.HttpServlet.serviceHttpServlet.java:729 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilterApplicationFilterChain.java:292 位于org.apache.catalina.core.ApplicationFilterChain.doFilterApplicationFilterChain.java:207 位于org.apache.tomcat.websocket.server.WsFilter.doFilterWsFilter.java:52 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilterApplicationFilterChain.java:240 位于org.apache.catalina.core.ApplicationFilterChain.doFilterApplicationFilterChain.java:207 位于org.apache.catalina.core.StandardWrapperValve.invokeStandardWrapperValve.java:212 位于org.apache.catalina.core.StandardContextValve.invokeStandardContextValve.java:106 位于org.apache.catalina.authenticator.AuthenticatorBase.invokeAuthenticatorBase.java:502 位于org.apache.catalina.core.StandardHostValve.invokeStandardHostValve.java:141 在org.apache.catalina.valves.ErrorReportValve.InvokeerErrorReportValve.java:79 位于org.apache.catalina.valves.AbstractAccessLogValve.invokeAbstractAccessLogValve.java:616 位于org.apache.catalina.core.StandardEngineValve.invokeStandardenginievalve.java:88 在org.apache.catalina.connector.CoyoteAdapter.serviceCoyoteAdapter.java:509 位于org.apache.coyote.http11.AbstractHttp11Processor.processAbstractHttp11Processor.java:1104 位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.processAbstractProtocol.java:684 位于org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRunNioEndpoint.java:1520 位于org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.runNioEndpoint.java:1476 位于java.util.concurrent.ThreadPoolExecutor.runWorkerThreadPoolExecutor.java:1142 位于java.util.concurrent.ThreadPoolExecutor$Worker.runThreadPoolExecutor.java:617 位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.runTaskThread.java:61 java:745
问题似乎是由依赖性冲突引起的,即依赖性assertj swing testng版本2.1.1依赖于testng版本5.7,Maven不会自动将其识别为与版本6.14.3的依赖性冲突

如果可能,我建议将pom.xml中的assertj swing testng版本更新为新版本,例如,您可以使用3.8.0版本:

    <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-swing-testng</artifactId>
        <version>3.8.0</version>
    </dependency>
另一种选择是排除嵌套的testng依赖项,但这仅对较小的版本差异是安全的,因为任何版本不兼容都可能导致依赖项中断


如何定位这类问题。在Eclipse IDE中查看pom.xml时,会有一个选项卡依赖关系层次结构,它显示嵌套依赖关系的树视图,并能够对它们进行筛选。

哪一行引发此异常?packages.addnew XmlPackage.*;您是否尝试过像com.something.tests这样的完全限定包名?但是,您的版本不应该抛出异常。奇怪,不管我写什么,都会出现同样的错误,我试着写正确的包名,不正确的包名,空字符串和nullHrmm,这是我所期望的。您使用的是什么版本的testng?我在pom.xml文件中没有看到这一点。它是saip自动化的可传递依赖项吗?也许可以尝试使用最新版本的testng?
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycopmany.myproduct.tests</groupId>
    <artifactId>myproduct-automation</artifactId>
    <version>0.0.1</version>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>[6.1.1,)</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>[2.44.0,)</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency> 
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-swing-testng</artifactId>
            <version>2.1.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-io -->
        <!-- <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>-->
            <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.5</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager -->
        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>2.2.1</version>
        </dependency>

        <!--  <dependency>
           <groupId>org.neo4j</groupId>
           <artifactId>neo4j-kernel</artifactId>
           <version>2.2.0</version>
           <type>test-jar</type>
           <scope>test</scope>
        </dependency>
        <dependency>
           <groupId>org.neo4j</groupId>
           <artifactId>neo4j-io</artifactId>
           <version>2.2.0</version>
           <type>test-jar</type>
           <scope>test</scope>
        </dependency>
        -->
    </dependencies>
</project>
    <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-swing-testng</artifactId>
        <version>3.8.0</version>
    </dependency>