maven-comiler-plugin:编译致命错误:错误:不支持发布版本 17

gdn*_*mhr 5 java maven maven-compiler-plugin github-actions

我尝试使用 maven 创建一个非常简单的 JavaFX 项目,并使用 GitHub actions 从中构建一个 Linux 包。这是工作流程文件:

# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven

name: Linux Client

on:
  workflow_dispatch:
  push:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 17
        uses: actions/setup-java@v2
        with:
          java-version: '17'
          distribution: 'temurin'
      - name: Debug
        run: mvn -version
      - name: Build with Maven
        run: sudo mvn -e -B install --file pom.xml
      - name: Upload DEB package
        uses: actions/upload-artifact@v2
        with:
          name: Installer files
          path: target/installer/*
Run Code Online (Sandbox Code Playgroud)

采用自https://github.com/dlemmermann/JPackageScriptFX

工作流程文件设置了 JDK 17,并且mvn -version似乎具有正确的输出:

Run mvn -version
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: /usr/share/apache-maven-3.8.6
Java version: 17.0.4.1, vendor: Eclipse Adoptium, runtime: /usr/lib/jvm/temurin-17-jdk-amd64
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "5.15.0-1017-azure", arch: "amd64", family: "unix"
Run Code Online (Sandbox Code Playgroud)

构建失败并显示Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project TestMaven: Fatal error compiling: error: release version 17 not supported -> [Help 1].

我究竟做错了什么?

gdn*_*mhr 6

我自己找到了答案,结果发现我无意中用 sudo 运行了 maven (在此之前我遇到了一些其他错误,并认为这是一个无害的修复)。

setup-java 操作似乎只为标准用户更新 JAVA_HOME,因此 maven 尝试使用运行程序上预安装的版本 11。