我的项目结构如下:
爪哇/
build.gradle
settings.gradle
主要项目a/
build.gradle
项目B/
build.gradle
当我把下面的代码输入,例如projectA的build.gradle,
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.6.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'spring-boot'
...一切都很好。
但是,如果我将上述代码放在Java的build.gradle中:
subprojects {
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.6.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'spring-boot'
...
}当运行gradle干净构建时,它一直在报告以下错误:
插件与id‘弹簧启动’找不到。
以前有人遇到过这个问题吗?为什么?
发布于 2015-11-06 09:27:13
我想出了解决办法,但不知道为什么。威尔在周末花了些时间看医生..。
将多项目build.gradle更改为:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.6.RELEASE")
}
}
subprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'spring-boot'
...
}即将buildscript从子项目中移出
发布于 2018-06-23 16:33:57
尝试使用完全限定名,如下所示:
plugins{
id 'org.springframework.boot' version '2.0.3.RELEASE'
id 'java'
}发布于 2021-07-03 09:05:13
你需要指定一些插件的版本,你只需要。但是gradle不想要多个不同的版本,即使您在多个文件中键入相同的版本,如果它们相互包含,它也不能工作。
因此,要解决必须将公共插件移动到根项目的问题,一些项目不使用它并不重要,请进一步阅读。下面是技巧部分,您需要将apply false放在根项目中的插件中。由于这一点,它将不会应用于根和其他项目,但它将应用到所有的项目,您将添加插件。
所以,从根本上来说,你应该放:
plugins{
id 'org.springframework.boot' version '2.0.3.RELEASE' apply false
}但是在子项目中,您将它放在没有版本的
plugins {
id 'org.springframework.boot'
}另外,不要忘记将include语句放在根项目中,用于根项目需要应用的所有文件夹。
https://stackoverflow.com/questions/33561168
复制相似问题