java - maven-surefire-plugin : java. lang.NoSuchMethodError : org. testng.TestNG.configure(Ljava/util/Map;)V

标签 java maven selenium testing

我正在尝试使用“mvn clean test”命令在 Java/TestNG 上执行测试。看起来 pom 中有问题,但我不知道是什么。

pom.xml

<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>Tests</groupId>
    <artifactId>GmailTest</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>


    <properties>
        <seleniumVersion>2.42.2</seleniumVersion>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <junit.version>4.8.2</junit.version>
   </properties>

    <repositories>
        <repository>
            <id>maven2.gueck.com-releases</id>
            <url>http://maven2.gueck.com/releases</url>
        </repository>
        <repository>
            <id>repo1</id>
            <url>http://repo1.maven.org/maven2</url>
        </repository>
        <repository>
            <id>repo2</id>
            <url>http://repo2.maven.org/maven2</url>

        </repository>
    </repositories>

    <dependencies>


        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-chrome-driver</artifactId>
            <version>${seleniumVersion}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-htmlunit-driver</artifactId>
            <version>${seleniumVersion}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.uncommons</groupId>
            <artifactId>reportng</artifactId>
            <version>1.1.2</version>
        </dependency>
       <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.9.4</version>
        </dependency>
        <dependency>
        <groupId>org.apache.maven.surefire</groupId>
        <artifactId>surefire-testng</artifactId>
        <version>2.18.1</version>
        </dependency>



    </dependencies>

 <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.18.1</version>
           <configuration>
        <suiteXmlFiles>
          <suiteXmlFile>testng.xml</suiteXmlFile>
        </suiteXmlFiles>
      </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>


</project>

错误代码:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project GmailTest: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test failed: There was an error in the forked process
[ERROR] java.lang.NoSuchMethodError: org.testng.TestNG.configure(Ljava/util/Map;)V
[ERROR] at org.apache.maven.surefire.testng.conf.TestNGMapConfigurator.configure(TestNGMapConfigurator.java:53)
[ERROR] at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:292)
[ERROR] at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:84)
[ERROR] at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:90)
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

我尝试寻找丢失的资源或存储库,但没有成功。有人知道如何处理吗?

最佳答案

<pluginManagement> element 仅用于为 <plugins> 中引用的插件提供配置。 。 请参阅:Maven: What is pluginManagement?

您还缺少 <groupId>对于 Surefire 插件。

您的<build>元素应如下所示:

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>testng.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
        </plugin>
    </plugins>
</build>

关于java - maven-surefire-plugin : java. lang.NoSuchMethodError : org. testng.TestNG.configure(Ljava/util/Map;)V,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31639307/

相关文章:

java - 警报对话框简化

java - 尝试编译项目时 Maven 崩溃 "Error executing Maven."

maven - 在IntelliJ IDEA中,Maven根据.pom获取外部库,但是尝试编译会产生 “package does not exist”

xml - TestNG Xml 文件 :I want to run same class for multiple time with different parameters

java - 如何在 Selenium WebDriver 中获取 native 记录器

java - 在 Java 程序的命令行中使用 *

java - 为什么我的推送通知不断不规律地重复?

java - UCanAccess异常 "Unsupported newer version: 5"

javascript - Protractor 中的动态变量

java - 需要帮助根据用户输入随机化数字