Java 为什么找不到springBoot{}?
我有一个构建脚本,看起来像这样:Java 为什么找不到springBoot{}?,java,spring,spring-boot,gradle,gradle-kotlin-dsl,Java,Spring,Spring Boot,Gradle,Gradle Kotlin Dsl,我有一个构建脚本,看起来像这样: plugins { id("org.springframework.boot") version "2.2.2.RELEASE" apply false id("io.spring.dependency-management") version "1.0.9.RELEASE" apply false id("java") } repositories { mavenCentral() } allprojects { //
plugins {
id("org.springframework.boot") version "2.2.2.RELEASE" apply false
id("io.spring.dependency-management") version "1.0.9.RELEASE" apply false
id("java")
}
repositories {
mavenCentral()
}
allprojects {
// ...
}
project("core") {
apply(plugin = "org.springframework.boot")
apply(plugin = "io.spring.dependency-management") // plugin to manage spring dependencies
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
springBoot {
mainClassName = "com.example.App"
}
}
然而,在建筑时,格拉德尔抱怨说
springBoot {
^ Unresolved reference: springBoot
如果我在plugins{}
块中删除spring插件上的apply false
,一切都正常
我不明白的是,为什么springBoot{}
即使我在“core”子项目中为springBoot调用了apply(plugin=)
,也无法解决这个问题?
我的理解是,在plugins{}
中,我将插件导入到项目中,但尚未应用它。稍后在core
子项目中,我应用插件并配置spring引导 来自年级文档
在这种情况下,生成脚本无法使用类型安全访问器,因为apply()调用发生在生成脚本的主体中。您必须使用其他技术,如下所示:
类型安全访问器对于由以下项提供的模型图元不可用:
通过apply(plugin=“id”)方法应用的插件
项目构建脚本
脚本插件,通过apply(from=“Script plugin.gradle.kts”)
通过跨项目配置应用的插件
您必须使用下面的配置选项
configure<SpringBootExtension> {
mainClassName = “ com.example.App”
}
配置{
mainClassName=“com.example.App”
}
来自等级文档
在这种情况下,生成脚本无法使用类型安全访问器,因为apply()调用发生在生成脚本的主体中。您必须使用其他技术,如下所示:
类型安全访问器对于由以下项提供的模型图元不可用:
通过apply(plugin=“id”)方法应用的插件
项目构建脚本
脚本插件,通过apply(from=“Script plugin.gradle.kts”)
通过跨项目配置应用的插件
您必须使用下面的配置选项
configure<SpringBootExtension> {
mainClassName = “ com.example.App”
}
配置{
mainClassName=“com.example.App”
}
您使用的是kotlin还是groovy版本?@smac89 kotlin dslTry将项目(“核心”)
更改为项目(“核心”)
Hmmm仍然是相同的错误我可能会说刷新项目并重试,或者将您的插件版本升级到可用的最新版本您是否使用kotlin或groovy版本?@smac89 kotlin dslTry将project(“core”)
更改为project(“core”)
Hmmm还是相同的错误我可能会说刷新项目并重试,或者将您的插件版本升级到可用的最新版本