从org.apache.maven.archetype执行中删除集成测试目标

问题描述

我正在尝试从其源代码构建JBPM。我正在使用skipTests = true进行Maven构建。我相信它会失败,因为Maven原型插件正在“集成测试”期间生成文件

[WARNING] Contents of file src\main\resources\rules.drl are not equal
[WARNING] Contents of file src\test\java\it\pkg\RuleTest.java are not equal
[WARNING] Contents of file src\test\resources\log4j.properties are not equal
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for KIE :: API Parent 7.39.0.Final-redhat-00007:
[INFO]
[INFO] KIE :: API Parent .................................. SUCCESS [  8.784 s]
[INFO] KIE :: Public API .................................. SUCCESS [ 48.164 s]
[INFO] KIE :: Internal .................................... SUCCESS [ 34.910 s]
[INFO] KIE :: Maven Archetypes ............................ SUCCESS [  0.175 s]
[INFO] KIE :: Drools Maven Archetype ...................... FAILURE [  3.405 s]
[INFO] KIE :: Model Archetype ............................. SKIPPED
[INFO] KIE :: KJAR Archetype .............................. SKIPPED
[INFO] KIE :: Service Spring Boot Archetype ............... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:38 min
[INFO] Finished at: 2020-11-12T09:10:02-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.2:integration-test (default-integration-test) on project kie-drools-archetype:
[ERROR] Archetype IT 'integrationtestDefaults' Failed: Some content are not equals
[ERROR] Archetype IT 'integrationtestWithCEP' Failed: Some content are not equals
[ERROR] Archetype IT 'integrationtestWithEclipse' Failed: Some content are not equals

但是,我并不关心原型的生成,因为我没有使用该工具构建的那部分内容(即,它将生成文件已经由另一个工具构建)。如何删除该Maven插件的目标或忽略“集成测试”的错误? pom.file没有明确提及任何目标,也没有明确执行任务(根据How do I run a maven plugin's integration tests?,这似乎是必需的)。这是pom.xml(在标题之后):

  <properties>
    <dollar>$</dollar>
  </properties>

  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>

    <extensions>
      <extension>
        <groupId>org.apache.maven.archetype</groupId>
        <artifactId>archetype-packaging</artifactId>
        <version>2.2</version>
      </extension>
    </extensions>

    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-archetype-plugin</artifactId>
          <version>2.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

父pom.xml简单地声明了此模块。谢谢!

解决方法

简单的解决方案:

  <properties>
    <archetype.test.skip>true</archetype.test.skip>
  </properties>

请注意,这种跳过不同于跳过测试或跳过集成测试(通常)。两者都有自己的配置。