java - 无法执行目标 org.apache.maven.plugins :maven-surefire-plugin:3. 0.0-M4:test(默认测试)

标签 java maven jenkins maven-surefire-plugin

我在使用 maven-surefire-plugin 3.0.0-M4 和 Maven 版本 3.6.3、3.6.0 和 3.3.9 以及 jdk1.8.0_222 (Ubuntu 18.0.4) 时遇到这个问题。我的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>Expertus</groupId>
  <artifactId>Expertus</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>ExpertusONE_4.5</name>
  <description>ExpertusONE_4.5</description>
  <dependencies>
    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>3.141.59</version>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>7.0.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi</artifactId>
      <version>4.1.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>4.1.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-failsafe-plugin</artifactId>
      <version>3.0.0-M4</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <packaging>war</packaging>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <resources>
      <resource>
        <directory>src</directory>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M4</version>
        <configuration>
          <useSystemClassLoader>false</useSystemClassLoader>
          <includes>
            <include>CreateOrganization.java</include>
          </includes>
          <suiteXmlFiles>
            <suiteXmlFile>/home/nivedab/Desktop/LocalCode/ExpertusONE_4.5/Learning_Suite.xml</suiteXmlFile>
          </suiteXmlFiles>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <properties>
    <java.version>1.8.0_222</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
</project>

Jenkins 输出如下:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M4:test
  (default-test) on project Expertus: There are test failures.

最佳答案

@尼维 首先,规则是不要阅读人们在谷歌上写的所有内容,因为他们也写了不好的页面。正确的做法是阅读 Apache Maven 的原始教程。

您能否正确阅读本文档并查看页面https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html上所有出现的单词“suiteXmlFiles”您在 POM 中使用的这些配置参数不应组合在一起。

接下来使用绝对路径完全破坏了 Maven 的全部内容。您的文件 Learning_Suite.xml 应该是模块基本目录的真实路径。因此它是一个资源文件,配置如下 <file>src/test/resources/suite.xml</file>在文档中: https://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html

此外,版本1.8.0_222是任何人都不应该使用的。这对于每个 POM 来说已经足够并且透明了:

<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>

关于java - 无法执行目标 org.apache.maven.plugins :maven-surefire-plugin:3. 0.0-M4:test(默认测试),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59194387/

相关文章:

java 。比较网页结构 (dom) 的相似性。

java - 无需打开键盘即可更改多行 EditText 光标位置

java - 从 EURID(EPP 协议(protocol))提供的 *.xsd 生成模型时出现 JAXB SAXParseException

jenkins - 如何在jenkins groovy中使用fmt_case?

mysql - 与 SQL Source Control、SQL Automation Pack 和 Jenkins 的持续集成

maven - 除非我正在执行发布构建,否则如何将 Jenkins 配置为不部署到 Maven 存储库?

java - Android:无法将数据插入到 SQLite 中

java - 是否可以使用在同一个 @Configuration 类中定义的 @Resource 实例?

java - 多组件版本控制/构建最佳实践

java - 如何参数化 Maven 文件 (pom.xml)?