Mic*_*ael 181 java intellij-idea gradle java-17
我在 IntelliJ 中使用 Gradle 创建了一个使用 Java 17 的新 Java 项目。运行我的应用程序时出现错误Cause: error: invalid source release: 17。
我的设置
我已经安装openjdk-17完毕IntelliJ并将其设置为我的Project SDK.
已Project language level设置为17 - Sealed types, always-strict floating-point semantics.
在Modules -> Sources我已经设置Language level为Project default (17 - Sealed types, always strict floating-point semantics).
在Modules -> Dependencies我已经设置Module SDK为Project SDK openjdk-17.
在Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler我已经设置Project bytecode version为17.
摇篮
plugins {
id 'org.springframework.boot' version '2.5.6'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'com.app'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-websocket'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'com.fasterxml.jackson.core:jackson-core:2.13.0'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.0'
}
test {
useJUnitPlatform()
}
Run Code Online (Sandbox Code Playgroud)
我已经查看了这里的所有答案,但我似乎无法解决这个问题。我一定是错过了什么,但我找不到它。我在使用 Java 8 或 11 时没有遇到任何问题。
我该如何解决这个问题?
小智 411
在intellij中只需将Gradle JVM设置为Java版本17。
“文件 -> 设置.. -> 构建、执行、部署 -> 构建工具 -> Gradle”,选择你的项目并将 Gradle JVM 设置为你的 java 17.0.1
tma*_*wen 31
该消息通常表明您的JAVA_HOME环境变量指向不同的Java版本。
以下是要遵循的步骤:
echo $JAVA_HOMEecho %JAVA_HOME%export JAVA_HOME=/path/to/openjdk-17set JAVA_HOME=path\to\openjdk-17sourceCompatibility)您应该能够构建您的项目。
您可能还需要通过将Java插件工具链设置为您的目标版本来指示Gradle使用与其本身不同的JVM :
// build.gradle
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
Run Code Online (Sandbox Code Playgroud)
intellij 引发此错误的原因可能有很多
echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)
如果 JAVA_HOME 不正确,请更新 JAVA_HOME 环境变量。
File > Project Structure > Project Setting > Project -> SDK and Language level should match
File > Project Structure > Project Setting > Modules -> Language Level should match with SDK
Run Code Online (Sandbox Code Playgroud)
Preferences > Build, Execution and Deployment > Gradle > Gradle JVM should match with SDK (Preferences > Build, Execution and Deployment > maven if you're using maven)
Preferences > Build, Execution and Deployment > Compiler > Java Compiler > Project Bytecode version (this should match with your SDK as well)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
184314 次 |
| 最近记录: |