如何从 spring-boot-starter-parent 中排除特定的依赖项

新手上路,请多包涵

我正在使用旧版 Spring 应用程序并想迁移到 Spring Boot。我的意图是使用 spring-boot-starter-data-jpa 。出于这个原因,我在 pom.xml 添加了以下部分(管理所有 spring-boot-dependencies ):

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
</parent>

但这搞砸了我暂时需要保留的某些依赖项。我目前正在使用 Selenium 依赖项(版本 2.53.0 ;从另一个项目传递地添加)但是 spring-boot 正在获取 3.9.1 的依赖项。

我想排除 3.9.1 依赖项,但 exclusion 过滤器未按预期工作。

Just to summarize, I want to use spring-boot-starter-parent and spring-boot-starter-data-jpa but not the managed selenium-java from spring-boot-dependencies .

感谢这方面的任何帮助。

原文由 Saikat 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.5k
2 个回答

而不是 <excludes> 然后尝试找出你需要再次包含的内容(在弄清楚你排除的内容之后)。只需覆盖 Spring Boot 参考指南 中解释的版本即可。

假设您正在使用 spring-boot-starter-parent 作为父级,您只需将 <selenium.version> 添加到您的 <properties> 部分以指定您想要的版本。

 <properties>
  <selenium.version>2.53.0</selenium.version>
</properties>

这将使 Spring Boot 使用您想要的版本。

原文由 M. Deinum 发布,翻译遵循 CC BY-SA 4.0 许可协议

在 pom.xml 中提及您需要在排除标记中排除的依赖项。然后将不会下载排除的依赖项:

 <dependency>
      <groupId>sample.ProjectA</groupId>
      <artifactId>Project-A</artifactId>
      <version>1.0</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
 <!-- declare the exclusion here -->
          <groupId>sample.ProjectB</groupId>
          <artifactId>Project-B</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

原文由 sreenath reddy 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏