Gradle

Gradle 排除传递依赖

1、概览 Gradle 是一款构建自动化工具,用于管理和自动化应用程序的构建、测试和部署过程。 使用基于 Groovy 或 Kotlin 的 DSL(Domain-Specific Language)来定义构建任务,可以轻松地自动定义和管理项目中所需的依赖。 本文将带你了解在 Gradle 中排除传递依赖的几种方法。 2、传递依赖是什么? 假设我们使用的 A 依赖于另一个库 B。默认情况下,当我们包含 A 时,Gradle 会自动将 B 添加到项目的 classpath 中,这样,即使我们没有明确地将 B 添加为依赖,也可以在项目中使用 B 的代码。 来看一个实际的例子,在项目中定义 Google Guava 依赖: dependencies { // ... implementation 'com.google.guava:guava:31.1-jre' } 如果 Google Guava 与其他库存在依赖关系,那么 Gradle 会自动包含这些其他库。 要查看项目中使用的依赖项,可以使用如下命令将其打印出来: ./gradlew <module-name>:dependencies 假设我们的模块名为 excluding-transitive-dependencies: ./gradlew excluding-transitive-dependencies:dependencies 输出如下: testRuntimeClasspath - Runtime classpath of source set 'test'. \--- com.google.guava:guava:31.1-jre +--- com.google.guava:failureaccess:1.0.1 +--- com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava +--- com.google.code.findbugs:jsr305:3.0.2 +--- org.

在 Spring Boot 3 中配置 Gradle Task

1、简介 Spring Boot Gradle Plugin 在 Gradle 中提供 Spring Boot 支持。它允许我们打包可执行的 JAR 或 war 文件,运行 Spring Boot 应用程序,并使用 spring-boot-dependencies 提供的依赖管理。Spring Boot 3 Gradle Plugin 需要 Gradle 7.x (7.5 或更高版本)或 8.x,并可与 Gradle 的配置缓存一起使用。 在这个教程中,我们将学习关于 Spring Boot 3 Gradle Plugin Task 配置的内容。Spring Boot 3 Gradle Plugin 提供了几个 Gradle task 可用。我们将使用一个简单的 Spring Boot 应用来演示如何配置一些 task。出于演示的目的,我们不会添加任何 security 配置或数据到我们的 Spring Boot 应用中。话不多说,现在让我们深入详细定义和配置这些 task。 2、配置 bootJar Gradle Task 在 Spring Boot 3 Gradle Plugin中,Gradle task 比以前的版本有所改进。一些常见的 Gradle task 包括 bootJar、bootWar、bootRun 和 bootBuildImage。让我们深入了解 bootJar,看看如何配置 bootJar task。