You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行mvn install报diamond operator is not supported in -source 1.5如何解决

错误原因

这个编译错误是因为Maven默认的maven-compiler-plugin插件未指定编译版本时,会默认使用JDK 1.5的编译规范,和本地安装的JDK版本无关。你本地虽然安装了JDK1.7/1.8,但Maven没有读取到对应版本配置,所以无法识别Java 7才引入的钻石运算符语法。项目可以正常运行是因为你本地IDE的运行配置直接调用了高版本JDK,没有走Maven的编译校验流程。

解决方案

方案一:通过properties全局配置编译版本(操作最简单)

在项目的pom.xml文件中添加properties配置,指定编译的源版本和目标版本:

<properties>
    <!-- 源代码使用的JDK版本 -->
    <maven.compiler.source>1.7</maven.compiler.source>
    <!-- 编译生成的字节码运行的JDK版本 -->
    <maven.compiler.target>1.7</maven.compiler.target>
    <!-- 如果使用JDK1.8,将上面两个值改为1.8即可 -->
</properties>

方案二:在编译插件中显式指定版本(适合多模块等需要细粒度控制的场景)

在pom.xml的build插件节点中,配置maven-compiler-plugin的编译参数:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <!-- 建议使用3.0以上的稳定版本 -->
            <version>3.8.1</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>

生效操作

配置完成后执行mvn clean install重新编译即可。如果使用Eclipse/IDEA等IDE,需要同步刷新Maven配置:

  • Eclipse:右键项目 -> Maven -> Update Project,勾选「Force Update of Snapshots/Releases」后确认
  • IDEA:右键项目 -> Maven -> Reload Project
校验方法

可以执行mvn -v命令查看Maven绑定的JDK版本,确认和你本地安装的JDK版本一致,避免Maven调用了其他路径的低版本JDK。

内容的提问来源于stack exchange,提问作者marwa hussein

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 22:48:03