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

如何在子项目中使用Spring.io和gradle的平台bom

宰父智敏
2023-03-14

我想在我的所有子项目中使用与gradle的平台的物料清单。http://platform.spring.io/platform/

文档描述了如何在单个项目中激活bom。需要使用spring-boot插件。我们将使用spring-boot插件,但只在单个子项目中使用。其他项目应该只从bom中获利,但不会包含一个“Main”类来运行spring-boot。

在根文件夹中运行gradle:gradle build....

错误:任务“:子项目:BootrePackage”执行失败。

找不到主类

我在网上没有找到任何例子。我如何与我的子项目共享bom,并且仍然积极地使用spring boot?

谢谢!

更新:我找到答案了

在父项目的build.gradle中:

子项目{
...
BootrePackage.Enabled=false;
Bootrun.Enabled=false;
...
}

随后在需要Spring-boot的子项目的build.gradle中:

bootrepackage.enabled=false;
bootrun.enabled=false;

现在gradle构建正确。此外,在根文件夹中,以下命令将引导委托给正确的子模块:
gradle bootRun

共有1个答案

钮勇
2023-03-14

使用io.spring.dependency-management

一个很好的特性是,即使您对Spring Boot不感兴趣,也可以使用Spring的依赖插件。

build.gradle.kts:

plugins {
    id("io.spring.dependency-management").version("1.0.6.RELEASE")
}

subprojects {
    apply<DependencyManagementPlugin>()

    dependencyManagement {
        imports {
            mavenBom("com.amazonaws:aws-java-sdk-bom:1.11.409") // Import any bom!
        }
    }
}
dependencies {
    implementation("com.amazonaws:aws-java-sdk-dynamodb")
}
 类似资料:
  • IntelliJ IDEA 2018.2.3(Community Edition)中的Kotlin多平台模板在中依赖于JUnit 4.12,用于项目的JVM部分: 值得注意的是,我使用的是Gradle4.10(一些较旧的示例使用,它从Gradle4.6起就被弃用了)。关于如何设置的文档已经过时并且稀少: 如上所示,IntelliJ中构建的默认项目模板不使用JUnit 5。 JUnit团队提供了示例

  • 我有一个多项目的gradle构建,其中一个子项目是应用Artifactory插件(版本4.2.0),并配置contextUrl和resolve repoKey。 它设置一个简单的配置和依赖项,然后有一个复制任务来检索依赖项作为zip文件并将其解压缩到目录中。 然而,当复制任务运行时,我得到下面的错误。我做错了什么?这是Artifactory插件或gradle的问题,还是。。。? 问题似乎与该项目是

  • 我有一个多模块gradle项目。 Root有以下模块:核心、应用程序(依赖于核心)、web(依赖于应用程序、核心) 从https://plugins.gradle.org/plugin/io.spring.dependency-management 我曾经用过 核心build.gradle内。 当我触发 在root命令提示符下,CoreJAR已成功构建,但应用程序无法解析依赖项的版本。 commo

  • 我想使用kotlin/multiplatform实现一个项目,该项目由jvm上的后端和js中的web应用组成。结构如下: 应用程序使用的数据类属于共享项目,但是要使用jpa,我需要jvm注释。 一种解决方案是不使用kotlin数据类并在jvm中继承。我还尝试使用实验性的<code>@optionalExpection 当与一起使用时,它们需要非注释类型,而这不能用 让多平台注释继承多平台注释是不可

  • 有没有可能删除一个谷歌云平台项目,在删除完成后,用相同的ID制作另一个GCP项目?

  • 我有一个gradle多项目构建,每个子项目都在单独的git存储库中。在根项目的build.gradle,我试图为所有子项目定义一个任务,它将为每个项目执行一些git命令。但是,任务的工作目录始终是根项目的工作目录。 如何根据当前执行任务的子项目更改workingDir?