未找到 ID 为“org.springframework.boot”的插件
Posted
技术标签:
【中文标题】未找到 ID 为“org.springframework.boot”的插件【英文标题】:plugin with id 'org.springframework.boot' not found 【发布时间】:2019-08-04 07:37:24 【问题描述】:我想使用 gradle 5.2 将 spring boot 插件包含到我的项目中。下面是我的 build.gradle 的当前状态,然后是我尝试做的事情。目前,我正在尝试使用 gradle 5 的 BOM support,但这不是硬性要求。我只想知道如何解决这个错误
未找到 ID 为“org.springframework/boot”的插件
更新:更新了下面的结构以更好地代表我的用例。
build.gradle
apply from: 'boot.gradle'
boot.gradle
repositories
mavenCentral()
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
dependencies
implementation platform('org.springframework.boot:spring-boot-dependencies:2.0.0.RELEASE')
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.0.0.RELEASE'
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version: '2.0.0.RELEASE'
implementation group: 'org.springframework.boot', name: 'spring-boot-gradle-plugin', version: '2.0.0.RELEASE'
要重现我的错误,您只需要在项目中添加一个文件:
Application.java
@SpringBootApplication
public class Application
public static void main(String[] args)
SpringApplication.run(Application.class, args);
我已尝试实施找到的解决方案here,它基于
在外部脚本(我们称之为脚本插件)中,插件 ID 不能 使用。相反,必须使用完全限定的类名。这 是一个已知的错误。
和 here 对我不起作用,即使我升级到使用 spring 2.0.5。
以及其他各种类似的解决方案。
【问题讨论】:
org.springframework/boot
是错字还是错误真的有斜线?任何类型的网络代理可能会阻止来自 Maven 的下载或工件?
@Mike 修正了错字,谢谢。我将 maven 用于其他项目的许多工件,所以这应该不是问题。
它是基本的 Spring Boot 应用程序吗?或尝试将现有应用程序转换为 spring-boot? @buratino
@Deadpool 从一开始就是一个spring-boot应用。
然后经过一些更改它坏了?实际上问题对我来说并不清楚@buratino
【参考方案1】:
您可以尝试使用 spring BOM 依赖管理,如下所示:
plugins
id 'org.springframework.boot' version '2.1.3.RELEASE'
id 'java'
apply plugin: 'io.spring.dependency-management'
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
repositories
mavenCentral()
dependencies
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
【讨论】:
【参考方案2】:我的用例的这个解决方案基于 Abdelghani 的回答。
build.gradle
plugins
id 'org.springframework.boot' version '2.1.3.RELEASE'
id 'java'
apply from: 'boot.gradle'
boot.gradle
repositories
mavenCentral()
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
dependencies
implementation platform('org.springframework.boot:spring-boot-dependencies:2.0.0.RELEASE')
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.0.0.RELEASE'
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version: '2.0.0.RELEASE'
implementation group: 'org.springframework.boot', name: 'spring-boot-gradle-plugin', version: '2.0.0.RELEASE'
简而言之,构建脚本需要有 'org.springframework.boot' 作为插件,apply plugin: 'org.springframework.boot'
才能在其他地方工作。
【讨论】:
以上是关于未找到 ID 为“org.springframework.boot”的插件的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloudAlibaba项目报错java.lang.IllegalArgumentException: Could not find class [org.springframew解决方案
无法找到 Spring NamespaceHandler 错误