Spring Boot gradle build - 无效的源版本:11
Posted
技术标签:
【中文标题】Spring Boot gradle build - 无效的源版本:11【英文标题】:Spring Boot gradle build - invalid source release: 11 【发布时间】:2022-01-16 02:04:53 【问题描述】:我正在尝试使用此命令构建我的 Spring Boot 项目。
./gradlew build
但它不断抛出这个错误。
'任务':compileJava'执行失败。无效的源版本:11'。
我的项目使用的是 java 版本 11,IntelliJ java 版本也设置为 11。
这是迄今为止我在 IntelliJ 上所做的 Java 版本设置。
1.设置——构建、执行、部署——构建工具——Gradle
-> 设置为 11。
[![在此处输入图像描述][1]][1]
2.设置-构建、执行、部署-编译器-Java编译器-项目字节码版本
-> 设置为 11。
[![在此处输入图片说明][1]][1]IntelliJ 终端上的 java -version 命令 -> 设置为 11.0.12
项目结构 - 项目设置 - 项目 - 项目 SDK: -> 设置为 11。
项目结构 - 项目设置 - 模块 - 模块 SDK: -> 设置为 11。
项目结构 - 平台设置 - SDKs - JDK 主路径: -> 设置为 11。
系统环境路径 - JAVA_HOME -> 设置为 11。
build.gradle - sourceCompatibility, targetCompatibility -> 设置为 11。
当我跑完这一切之后
./gradlew build
结果
我想我已经尽了一切可能。有没有其他设置可以试试??
【问题讨论】:
【参考方案1】:有两种解决方案。问题很可能发生,因为 Gradle Wrapper 试图在 Java_home 中找到 JDK 11,但未能在那里找到它。我不认为这是因为您使用了一些不支持 jdk11 的旧依赖项。
解决方案1
明确提及您要在终端上使用的 JDK。 例如,而不是
./gradlew build
使用
./gradlew build -Dorg.gradle.java.home=yourjdk11homepath
您的路径可能类似于:
C:\\Program Files\\OpenJDK\\jdk-11.0.3
解决方案 2
如果您不想在使用 gradle wrapper 构建项目时应用解决方案 1,请在 gradle.properties 文件中设置选项。
在与 build.gradle 和 gradlew 文件相同的目录级别,make
gradle.properties
文件并写入以下内容:
org.gradle.java.home=yourjdk11homepath
同样,您的路径可能类似于:
C:\\Program Files\\OpenJDK\\jdk-11.0.3
【讨论】:
【参考方案2】:在我的情况下,我的 sdkman 不再支持采用openjdk 11,并且该项目已重命名为 Temurin。
参考:https://sdkman.io/jdks
所以我的 gradle 构建试图解决缺少的采用openjdk 11,但它不能。 我从 Temurin 重新安装了 jdk 11
sdk install java 11.0.14-tem
瞧,它解决了构建问题,我的 gradle 构建成功了。
【讨论】:
【参考方案3】:将项目 jdk 设置为 1.8 瞬间 11
【讨论】:
设置为 1.8 ?用jdk 11建项目是不是不行? 一些库不支持 11 这就是为什么你需要将其更改为 1.8以上是关于Spring Boot gradle build - 无效的源版本:11的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用 gradle bootrun 编译并获取找不到 spring-boot-gradle-plugin:1.4.0.BUILD-SNAPSHOT
当我在开发模式下停止应用程序并将 build.gradle.kts 与 spring boot 一起使用时出错
多模块 Spring Boot 项目中的 Gradle 依赖插件
Spring Boot gradle build - 无效的源版本:11