另一个 Maven “源选项 6 不再受支持。使用 7 或更高版本。

2022-09-02 09:52:19

我看到很多这个问题的答案,但它们不适合我。我在PC上安装了Visual Studio Code,最新版本的Java和Maven,并且能够在PC上使用Maven成功构建我的应用程序。然后,我在Mac上执行了相同的步骤,并得到了此错误。

Macos,Visual Studio Code,Maven和Java的新版本。就像其他人说的那样,我将这些行添加到我的pom.xml文件的属性部分:

    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>

仍然得到相同的错误。以下是 mvn 构建的相关输出:

alberts-mbp:com.versabuilt.rushmore.process albertyoungwerth$ mvn package
[INFO] Scanning for projects...
[INFO] 
[INFO] ---------< com.versabuilt.rushmore.process:VersaBuiltProcess >----------
[INFO] Building VersaBuilt Process 0.2.18
[INFO] -------------------------------[ bundle ]-------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ VersaBuiltProcess ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 5 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.6.0:compile (default-compile) @ VersaBuiltProcess ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 10 source files to /Users/albertyoungwerth/rushmore/com.versabuilt.rushmore.process/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] Source option 6 is no longer supported. Use 7 or later.
[ERROR] Target option 6 is no longer supported. Use 7 or later.
[INFO] 2 errors

我也重新启动了Visual Studio Code,但无济于事。


答案 1

我使用的最后一个构建系统称为make,因此自从调试构建过程以来已经有一段时间了。我也不记得转储62Kb的调试输出...

Anywho,搜索关键字“source”(线索是我应该添加的标签之一),让我在maven调试输出中得到了这个:

[调试](f) 源 = 1.6

啊哈!源编译器版本没有像我在原始问题中要求的那样进行更改!我敢打赌,专家们改变了xml标签的位置!果然,在pom.xml文件中搜索1.6,我发现这个:

    <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.0</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>

我将源和目标标签值更改为1.8,它有效!我还尝试删除构建插件范围内的源和目标标签,并将其保留在maven.compiler.source/target值中设置为1.8,这也有效。

因此,故事的寓意是,要小心pom.xml文件中额外的源或目标标签!


答案 2

实际上,我也遇到了上面的错误消息,将其添加到属性文件后,错误得到了解决。:)

属性需要添加到 pom 中.xml

 <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

推荐