微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

idea mvn 编译报错,-source 1.5 中不支持 diamond 运算符

检查idea 关于project的相关配置

mac版本,按照下图指示

  • 找到preferences,

    在这里插入图片描述

  • 找到相关jdk compiler,修改成相应版本

    在这里插入图片描述

  • 确定上面修改完后,如果还有错误,可能是因为Maven认用的是JDK1.5去编译

diamond运算符,指的是JDK1.7的一个新特性
List list = new ArrayList(); // 老版本写法
List list = new ArrayList<>(); // JDK1.7及以后的写法
所以Maven认使用JDK1.5去编译肯定是不认识这个东西的,针对这种问题,本文提供三种解决方案:

第一种方法: 在项目pom.xml中加入下面的配置即可

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

第二种方法:或直接在pom.xml中配置Maven的编译插件也是可以的,像下面这样:

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

第三种方法:也是一种最终的解决方案,适用于idea下配置Maven的所有项目:
在配置的maven安装包的setting.xml中的profiles标签中加入以下标签

<profile>    
     <id>jdk-1.8</id>    
     <activation>    
        <activeByDefault>true</activeByDefault>    
        <jdk>1.8</jdk>    
     </activation>    
     <properties>    
        <maven.compiler.source>1.8</maven.compiler.source>    
        <maven.compiler.target>1.8</maven.compiler.target>    
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>    
     </properties>    
</profile>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐