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

Gradle BOM导入支持如何动态解决插件中添加的依赖版本?

郎恺
2023-03-14
open class MyCustomPlugin : Plugin<Project> {
    override fun apply(project: Project): Unit = project.run {
        project.dependencies.add("jooqRuntime", "org.postgresql:postgresql")
    }
}
dependencies {
implementation("nu.studer:gradle-jooq-plugin:4.1")}

共有1个答案

严峰
2023-03-14

Spring的依赖管理插件有点重。它触及所有配置,您可以在这里看到使用all()调用。

原生Gradle解决方案经过优化或“更聪明”,只“接触”它所需要的配置。你可以在这篇演讲中了解更多关于差异的信息。

因此,这里的解决方案是在Gradle调用JooqRuntime配置时导入BOM或平台。这可以在您的项目中完成:

dependencies {
    "jooqRuntime"(platform("org.springframework.boot:spring-boot-dependencies:2.2.5.RELEASE")
}
public class MyCustomPlugin implements Plugin<Project> {

    @Override
    public void execute(Project project) {
        DependencyHandler dependencies = project.getDependencies();
        dependencies.add("jooqRuntime", dependencies.platform("org.springframework.boot:spring-boot-dependencies:2.2.5.RELEASE"));
    }

}
 类似资料:
  • 我已经通过 pom 的方式引入了 MyBatis 的依赖,pom 文件的部分内容如下: 但是当我尝试导入包的时候: IDEA 提示“无法解析符号 'ibatis'”,而当我运行程序时,终端提示 org.apache.ibatis.annotations 包不存在。 我该如何解决这个问题?mybatis-spring-boot-starter的依赖应该包含org.apache.ibatis.anno

  • 12.3 依赖注入 JSR-352主要基于Spring Batch的编程模型。因此,尽管没有明确需要正式的依赖注入实现, 但还是推荐使用 DI 的方式。Spring Batch支持 JSR-352 中定义的三种加载组件方式: 实现专用加载器 - Spring Batch 构建于 Spring 之上, 支持在 JSR-352 批处理作业中使用依赖注入. 归档文件加载器 - JSR-352 定义了一个

  • TL;DR两个gradle插件使用相同依赖项的不同版本,在调用其中一个插件时会导致编译错误。 > 我有一个使用Gradle4编译的Java项目。十、 该项目依赖于两个插件:gradle-jaxb-plugin和serenity-gradle-plugin。 两个插件共享一个依赖项,guice。 我需要升级一个插件(serenety)。升级会导致调用jaxb插件时发生冲突。 我做了一些调查和谷歌搜索

  • 我使用的是Android studio版本 在项目级分级中: 模块级别等级: 当我导入它时,它发生错误 导入此时 xml错误 错误图片 在xml中添加此标记时发生错误 为此给出解决方案!!!

  • 我想在我的应用程序中使用Google架构组件,但在将android studio更新到3.1.1版本后,当我将依赖项添加到app.gradle文件中时,它将显示 我的gradle版本是4.4 这是app Gardle: 请指教我怎么修,谢谢

  • Maven允许使用导入范围将依赖项(例如导入Spring Boot依赖项)导入到具有不同父级的项目中。这对插件管理有何影响? 我想使用