当前位置: 首页 > 知识库问答 >
问题:

如何补救我在项目中使用的另一个库使用的易受攻击的依赖关系?

能业
2023-03-14

我可以排除这样的版本-

<dependencies>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
     <version>2.2.0.RELEASE</version>
     <exclusions>
        <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </exclusion>
     </exclusions>
</dependency>

但是,我无法更新Project中一个JAR的spring-boot-starter-web starter的依赖项树中存在的相同依赖项的版本。我尝试使用 标记提供版本更新-

<project>
   ......
   <dependencyManagement>
        <dependencies>
             <dependency>
                  <groupId>ch.qos.logback</groupId>
                  <artifactId>logback-classic</artifactId>
                  <version>1.2.3</version>
                  <type>pom</type>
                  <scope>import</scope>
             </dependency>
        </dependencies>
   </dependencyManagement>

   <dependencies>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
         <version>2.2.0.RELEASE</version>
         <exclusions>
            <exclusion>
               <groupId>ch.quos.logback</groupId>
               <artifactId>logback-classic</artifactId>
            </exclusion>
         </exclusions>
      </dependency>
      ........
   </dependencies>

   ......
<project>

注意-在 中,最初我也尝试不使用 标记,但无论如何,我只能排除易受攻击的logback-classic依赖项,但我不能在spring-boot-starter-web中将其更新到该特定子POM中的1.2.3。

共有1个答案

严劲
2023-03-14

您提到的库(Logback-classic)报告了许多兼容性问题

正如您在其存储库的相关问题中所看到的

我建议您尝试不同版本的Spring(较新的版本),并检查Github问题中的搜索结果,以查找版本和更新,您可能会发现一些内容

 类似资料:
  • Github已经将我的应用锁文件中的依赖项标记为易受攻击。 要修复它,我应该将该包更新到一个较新的版本。 抱歉,如果这是一个非常基本的问题,但我似乎没有找到任何有用的关于这一点。

  • 我有一些限制做一个新的构建。因此,我使用winRAR工具替换了X.jar中的META-INF\maven\com.fasterxml.jackson.core\jackson-databind文件夹。

  • 我正在构建一个定制的Java库。我把我的大部分“重复”代码都保存在那里,比如文件处理、字符串处理等。每次我想使用它们时,我都必须将该类复制并粘贴到我正在进行的其他项目中。有没有办法让这个自定义库类成为“依赖项”?我在用我的智能手机。

  • 在我的spring项目中,我可以像这样用XML定义bean:

  • 我有一个spring boot反应式应用程序。如果用户还不存在,我想在其中实现创建用户。这样地: 我真正不喜欢的是我需要使用。有没有更好的方法? 最大的问题是两者都有循环依赖关系,因为UserRepository需要知道用户名,而userDTO stream需要知道这是否已经存在并返回mono。

  • 上下文:我们使用2.6.3版本的com.microsoft.azure:应用见解-日志-log4j1_2来检测我们的Scala代码。不幸的是,这依赖于1.2.17版本的log4j: log4j。1.2.17版本的log4j: log4j有一个严重的安全漏洞(参考:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-17571)问题是:“L