Spring boot Gradle无法识别springboot buildInfo插件
我正在尝试将springboot buildInfo插件添加到build.gradle.kts中,以便生成build-info.properties文件,并通过/exactor/info端点公开构建信息,即应用程序版本。但是,在添加buildInfo插件时,我不断遇到以下错误: 未解析的引用:springBoot 我一直在引用以下内容,但它只是说只需添加插件和构建 我是否将插件放置在gradle文件的正确位置?我是否需要另一个依赖项或插件引用来实现此功能 以下是我的build.gradle.kts的主要部分:Spring boot Gradle无法识别springboot buildInfo插件,spring-boot,gradle-plugin,spring-boot-actuator,gradle-kotlin-dsl,Spring Boot,Gradle Plugin,Spring Boot Actuator,Gradle Kotlin Dsl,我正在尝试将springboot buildInfo插件添加到build.gradle.kts中,以便生成build-info.properties文件,并通过/exactor/info端点公开构建信息,即应用程序版本。但是,在添加buildInfo插件时,我不断遇到以下错误: 未解析的引用:springBoot 我一直在引用以下内容,但它只是说只需添加插件和构建 我是否将插件放置在gradle文件的正确位置?我是否需要另一个依赖项或插件引用来实现此功能 以下是我的build.gradle.kt
group = "com.walmart.muse.core-kt"
version = getLatestTagVersion()
java.sourceCompatibility = JavaVersion.VERSION_1_8
java.targetCompatibility = JavaVersion.VERSION_1_8
plugins {
id("org.springframework.boot") version "2.2.0.RELEASE" apply false
kotlin("jvm") version "1.3.50"
kotlin("plugin.spring") version "1.3.50"
kotlin("plugin.jpa") version "1.3.50"
kotlin("plugin.allopen") version "1.3.50"
}
// This little code block is what is causing the error.
// I want to use it to get buid-info.properties so I can hit `/actuator/info`
// to expose my build info, but this isn't working :(
springBoot {
buildInfo()
}
allprojects {
repositories {
maven(url = "https://my-company's-repository.com") // edited for privacy
}
apply(plugin = "org.jetbrains.kotlin.jvm")
apply(plugin = "java")
apply(plugin = "org.springframework.boot")
apply(plugin = "io.spring.dependency-management")
apply(plugin = "org.jetbrains.kotlin.plugin.allopen")
apply(plugin = "org.jetbrains.kotlin.plugin.spring")
apply(plugin = "org.jetbrains.kotlin.plugin.jpa")
apply(plugin = "kotlin-spring")
dependencies {
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.apache.logging.log4j:log4j-api-kotlin:1.0.0")
implementation("io.springfox:springfox-swagger2:2.7.0")
implementation("io.springfox:springfox-swagger-ui:2.7.0")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
implementation("com.google.code.gson:gson:2.8.4")
runtimeOnly("mysql:mysql-connector-java:5.1.6")
testImplementation("org.junit.jupiter:junit-jupiter-api")
testImplementation("com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0")
testImplementation("org.springframework.boot:spring-boot-starter-test") {
exclude(module = "junit")
}
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
}
allOpen {
annotation("javax.persistence.Entity")
annotation("javax.persistence.Embeddable")
annotation("javax.persistence.MappedSuperclass")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "1.8"
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
原因是,您使用了apply,并且正如gradledoc所声明的,现在gradle kotlin dsl不能使用类型安全访问器
而不是
springBoot {
buildInfo()
}
在build.gradle.kts中,必须使用
configure<org.springframework.boot.gradle.dsl.SpringBootExtension> {
buildInfo()
}