Spring 源码环境搭建问题:无效的源发行版、io.spring.gradle-enterprise-conventions.gradle.plugin:0.0.2

报错:无效的源发行版

问题描述

在本地搭建 Spring 源码环境时,构建时提示报错 Execution failed for task ':spring-jcl:compileJava'.,关键报错信息 无效的源发行版:17

环境描述

JDK 版本: 1.8.0_271
Spring 版本:6.0.0-SNAPSHOT

解决方案

网上很多解决方案都试过,但没法解决问题,于是,自己找一下解决方案,发现其实很简单。

忽然想起前段时间 Spring Boot 宣布不再支持 Java 8 ,就在想 Spring Boot 基于 Spring ,那 Spring 会不会也不再支持 Java 8。于是看源码根目录文件夹里有个文件叫 SECURITY.md ,点开发现有个 Supported Versions (支持版本)

点开后是这样的:
Spring Framework Version
果然是版本不支持导致的,所以直接切换一下 Spring 源码的分支到 5.3.x ,再构建就没有报错了。
当然,你也可以更新本地 jdk 版本到 17 也可以解决。
ps:5.3.x 版本部分代码涉及到 Java 11 的内容,构建时可能会出错,建议 jkd 版本是 Java 8 的同学使用 5.3.1 版本较为稳妥。(20220608更新:jdk 8 也无法运行 5.3.1,由于spring-framework-5.3.1\spring-core\src\main\java\org\springframework\core\metrics\jfr\FlightRecorderStartupEvent.java这个文件用到了jkd.jfr程序包的内容,而jkd.jfr是从 Java 9 才开始出现,所以这里迫不得已切换到 Java 11)

报错:Could not resolve all dependencies for configuration ‘detachedConfiguration2’

问题描述

debug / build 时报错 Could not resolve all dependencies for configuration 'detachedConfiguration2'

详细报错:

Error resolving plugin [id: 'io.spring.gradle-enterprise-conventions', version: '0.0.2']
> Could not resolve all dependencies for configuration 'detachedConfiguration2'.
   > Could not determine artifacts for io.spring.gradle-enterprise-conventions:io.spring.gradle-enterprise-conventions.gradle.plugin:0.0.2
      > Could not get resource 'https://repo.spring.io/plugins-release/io/spring/gradle-enterprise-conventions/io.spring.gradle-enterprise-conventions.gradle.plugin/0.0.2/io.spring.gradle-enterprise-conventions.gradle.plugin-0.0.2.jar'.
         > Could not HEAD 'https://repo.spring.io/plugins-release/io/spring/gradle-enterprise-conventions/io.spring.gradle-enterprise-conventions.gradle.plugin/0.0.2/io.spring.gradle-enterprise-conventions.gradle.plugin-0.0.2.jar'. Received status code 401 from server: Unauthorized

解决方案

找到 settings.gradle 文件

plugins {
	id "com.gradle.enterprise" version "3.2"
	id "io.spring.gradle-enterprise-conventions" version "0.0.2"
}

注释掉 id "io.spring.gradle-enterprise-conventions" version "0.0.2"

plugins {
	id "com.gradle.enterprise" version "3.2"
	//id "io.spring.gradle-enterprise-conventions" version "0.0.2"
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值