java1.7+

qgzx9mmu  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(335)

在eclipse中创建maven安装时,我遇到了源代码1.5中不支持的所有java错误。我的代码没有问题。
错误如下:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1
[23,62] multi-catch statement is not supported in -source 1.5 
[241,29] try-with-resources is not supported in -source 1.5
[156,64] diamond operator is not supported in -source 1.5

我的pom配置如下:

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.3</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
        </configuration>
    </plugin>
bvn4nwqk

bvn4nwqk1#

在pom.xml文件中添加以下行可以解决问题。

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

如果您能考虑到我们提供给您的建议。您有两个选项可供选择:
选项1)如果您保留maven war插件。将版本更新为最新版本,然后添加包含编译器信息和sourceencoding的属性,但删除配置行:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>

    ..
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.3.1</version>
    </plugin>
    ..
</build>

选项2)如果用maven编译器插件替换maven war插件,则无需向属性添加/替换源、目标和编码。请确保将版本更新为最新版本:

<build>
    ..
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
        </configuration>
    </plugin>
    ..
</build>

相关问题