当存在某些依赖项时,maven 构建如何失败?

大众汽车

在我的一个 POM 中,依赖项的范围错误。在运行应用程序时,此(测试)依赖项是 OutOfMemoryError 的原因。

我想通过添加一个迭代所有(包括传递)依赖项并验证某个模式的出现的插件来防止这种情况,例如包含“test”的 artifactId。

当出现某种模式时,如何过滤所有依赖项并使构建失败?

在 dan1st 回答之后,这个解决方案符合我目前的需求:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-enforcer-plugin</artifactId>
    <executions>
        <execution>
            <id>enforce-banned-dependencies</id>
            <goals>
                <goal>enforce</goal>
            </goals>
            <configuration>
                <rules>
                    <bannedDependencies>
                        <excludes>
                            <exclude>*:*-test</exclude>
                            <exclude>*:test-*</exclude>
                        </excludes>
                    </bannedDependencies>
                </rules>
                <fail>true</fail>
            </configuration>
        </execution>
    </executions>
</plugin>
第一天

Maven 执行器插件允许禁止依赖项

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.0.0-M3</version>
        <executions>
          <execution>
            <id>enforce-banned-dependencies</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                <searchTransitive>true</searchTransitive>
                <message>Dependency not allowed!</message>
                  <excludes>
                    <!-- do one of the following: --> 
                    <exclude>all.dependencies.with.this.group.id.are.banned</exclude>
                    <exclude>group.id-to-ban:artifact-id-of-artifact-to-ban</exclude>
                    <exclude>group.id-to-ban:artifact-id-of-artifact-to-ban:versiontoban</exclude>
                    <!-- wildcards with '*' are also allowed -->
                  
                </bannedDependencies>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

依赖项构建时 npm install 失败

当Maven单元测试失败时,如何使Jenkins构建失败?

如何防止在Ant任务失败时Maven构建失败?

从分类器构建的Maven依赖项中排除某些.jar

我如何才能使Maven构建因重复的依赖项而失败?

maven 构建失败 - 无法解析 maven 依赖项

实施firebase时Apache Cordova构建失败:依赖项失败

构建失败时如何获得松弛通知?

Maven 依赖项已下载,但构建失败并出现 StackOverflowError

TFS 2017-发布的测试失败时如何失败构建

如何在Maven中为我的一个依赖项指定某些依赖项版本

在构建依赖项时如何查看消息?

使用变量指定依赖项版本时构建失败

当两个依赖项中的一个未指定组时,如果两个依赖项之间存在版本冲突,我能否使gradle构建失败

如何在依赖某个jar的Jenkins中使构建失败

无法在 gitlab 依赖项上运行 Maven 构建,但存在于 Maven 中心

堆栈构建因缺少依赖项而失败

当Hibernate Tools是Maven依赖项时,如何从Ant执行HibernateToolTask

如何在下载依赖项时使Maven提前超时?

如何使用自定义Maven插件防止构建失败?

使用findBug插件发现错误时如何使Maven构建失败

在Maven中构建模块时如何构建依赖项目

剃刀视图的编译失败时,如何中止构建?

阴谋集团:如何在测试失败时停止构建?

docker-py构建失败时如何获取日志?

构建Perl时如何测试单个失败的测试

如何检查Maven项目中的文件名是否包含某些字符(然后使构建失败)?

Maven构建失败

Maven:构建失败