Maven 在深层模块结构中配置测试跳过

Maven 在深层模块结构中配置测试跳过,maven,Maven,我有一个maven模块的结构: mavenProjectRoot/ a/ a1/ a2/ b/ b1/ b2/ 并且需要配置从根pom.xml跳过模块a1的某些测试 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-sur

我有一个maven模块的结构:

mavenProjectRoot/
  a/
    a1/
    a2/
  b/
    b1/
    b2/
并且需要配置从根pom.xml跳过模块a1的某些测试

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <excludes>
           <exclude>a/a1/**/*java</exclude>
        </excludes>
      </configuration>
    </plugin>
  </plugins>
</build>

org.apache.maven.plugins

如果要在从根目录执行“mvn测试”时跳过a1中的测试,则应在a1 pom.xml中编写代码段,并进行以下修改:

<exclude>**/*.java</exclude>
***.java

但是我建议您在根目录中创建两个配置文件,一个运行所有测试,另一个运行除a1测试之外的所有测试。

我已经创建了项目示例(检查问题页面),您应该在父pom中复制插件配置(不在a1 pom中,因此从那里删除),当您从父pom中运行所有测试时,a1中的测试被跳过刚刚更改(样本更新),不起作用,请检查我是否按照您所说的做了。请查看postching pom.xml中的修改,只是上面的一个级别起作用,但我必须找到从root pom.xml配置模块的方法。今天,我从根pom.xml配置它,通过排除没有模块规范的必需包和测试,但是如果在两个测试模块中定义了相同的包,那么它将从这两个模块中排除。