当前位置: 首页 > 面试题库 >

黑名单Maven依赖

柴阳云
2023-03-14
问题内容

是否有一种方法(例如,Maven插件)可以获取不需要的/黑名单的依赖项列表(直接和传递),并且如果检测到列出的依赖项之一,则构建失败?

在我的项目中,我们严格地希望摆脱Apache Commons Logging并将其替换为SLF4J JCL
Bridge。我知道我们必须排除自己的不必要的部门,但是如果有人添加了一个依赖项并将其列入黑名单,那么我希望构建失败。


问题答案:

您可以使用禁止某些依赖项maven-enforcer- plugin

这是他们的示例,其中包含将您排除Apache Commons Logging的更新。

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.1.1</version>
        <executions>
          <execution>
            <id>enforce-banned-dependencies</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <exclude>commons-logging:commons-logging</exclude>
                  </excludes>
                </bannedDependencies>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

运行时的输出mvn install将是:

[WARNING] Rule 1: org.apache.maven.plugins.enforcer.BannedDependencies failed with message:
Found Banned Dependency: commons-logging:commons-logging:jar:1.1.1
Use 'mvn dependency:tree' to locate the source of the banned dependencies.

一切都以结尾BUILD FAILURE



 类似资料:
  • 很多时候,我们需要根据调用来源来判断该次请求是否允许放行,这时候可以使用 Sentinel 的来源访问控制(黑白名单控制)的功能。来源访问控制根据资源的请求来源(origin)限制资源是否通过,若配置白名单则只有请求来源位于白名单内时才可通过;若配置黑名单则请求来源位于黑名单时不通过,其余的请求通过。 调用方信息通过 ContextUtil.enter(resourceName, origin)

  • 我正在开发一个Android应用程序,充值的手机通过手机的摄像头或从画廊的卡的照片…我使用tesseract库为此目的采取只使用黑名单和白名单的数字…它没有按预期工作 我使用的图片只包含这两行: 41722757649786 我只想识别数字,而不是字母,也不使用cropper..

  • 本文向大家介绍php实现ip白名单黑名单功能,包括了php实现ip白名单黑名单功能的使用技巧和注意事项,需要的朋友参考一下 这个是一个检测ip是否非法的php函数,适应于白名单,黑名单功能开发,主要场景应用于:api来源限制,访问限制等. 获取ip地址,这里引用thinkphp内置函数 以上就是本文的全部内容了,希望对大家理解php检测IP有所帮助。

  • G01的“IP黑白名单”是针对IP是否被允许访问网站的功能。加入黑名单的IP则拒绝其对网站的访问,而加入白名单的IP则不受任何限制。注意:当黑白名单出现交叉时,白名单优先。 由于G01的黑白名单是驱动级,因此当驱动未安装成功时,则不生效(主要为Linux系统环境)。所以当出现将IP加入黑名单后还记录该IP攻击日志时,请对照Linux支持内核版本查看是否支持该系统内核版本。 打开“IP黑白名单”功能

  • 读取粉丝信息 调用地址 http://api.bilibili.cn/friend/fans 需要 App Key 并验证登录状态(Access key) 参数 字段 必选 类型 说明 page false int 结果分页选择 默认为第1页 pagesize false int 单页返回的记录条数,最大不超过300,默认为10。 返回 返回值字段 字段类型 字段说明 results int 返回

  • 问题内容: 我不明白bom对象的目的是什么?并且我正在使用Spring 3.2.8版本以及JBoss服务器,那么我需要使用哪个bom依赖关系?当我在pom.xml中提到以下依赖项时: jar文件是否已下载到我的Maven依赖关系中? 问题答案: Bom对象的目的是什么? Maven父子关系对于在单个位置管理多个项目的依赖关系非常方便。但是,Maven项目只能有一个(直接)父级。因此引入了用于依赖性