【问题标题】:Can't run java app using java last version (17)无法使用 java 最新版本运行 java 应用程序 (17)
【发布时间】:2021-12-25 18:29:23
【问题描述】:

Linux Mint 20.2

IntelliJ IDEA 2021.3(社区版

在 build.gradle 中:

plugins {
    id 'java'
    id 'org.springframework.boot' version '2.6.1'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
}

sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17

repositories {
    mavenLocal()
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-webflux'


    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'io.projectreactor:reactor-test'
    testImplementation 'com.github.tomakehurst:wiremock:2.27.2'
}

test {
    useJUnitPlatform()
}

在我的项目设置中:

但是当我尝试运行应用程序时出现错误:

> Task :compileJava FAILED

Execution failed for task ':compileJava'.
> error: invalid source release: 17

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

【问题讨论】:

    标签: intellij-idea java-17


    【解决方案1】:

    您必须确保您使用的 Gradle 版本支持 Java 17。在撰写本文时,唯一支持此功能的版本是 7.3.+

    您可以在 Settings -> Build, Execution, Deployment -> Build Tools -> Gradle 下配置版本。例如,如果您使用“gradle-wrapper.properties”文件中的 Gradle,则该文件中的 distributionUrl 应设置为类似

    distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
    

    您还应该将Gradle JVM设置为Java 17。有时我发现在执行build任务之前有必要先运行clean任务,以便删除所有可能已使用以前的 Java 版本编译的文件。此外,可能还需要删除旧的 Gradle 配置(在 编辑配置... 下)并创建新配置。

    【讨论】:

    • 我安装了 Gradle 7.3,但没有帮助。同样的错误
    【解决方案2】:

    您是在 IntelliJ 中运行应用程序,还是通过终端运行它。如果是这样,您需要确保在您的计算机上安装了适当的 JDK。

    以下命令在终端中的结果是什么?

    java -version
    

    【讨论】:

    • 结果是:java version "17.0.1" 2021-10-19 LTS
    猜你喜欢
    • 2022-01-10
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    相关资源
    最近更新 更多