有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法执行目标组织。阿帕奇。专家插件:mavensurefireplugin:3.0.0M4:test(defaulttest)

我在maven surefire插件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>

詹金斯的产出如下:

[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.

共 (2) 个答案

  1. # 1 楼答案

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

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

    接下来,使用绝对路径完全破坏了Maven的所有功能。您的文件学习套件。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>
    
  2. # 2 楼答案

    <suiteXmlFile>src/test/resources/${suiteXmlFile}.xml</suiteXmlFile>
    

    任何名称都将包含XML文件,测试将运行