source 1.5 中不支持diamond运算符
在执行Maven进行deploy打包部署时,报如下异常:
[ERROR] /D:/file/dqs_jx/src/main/java/com/dqs/controller/ReportController.java:[104,61] -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)
该异常的常见情况有2个:1、JDK版本不一致,比如IDE中配置的JDK版本不一致。2、Maven配置错误,执行Maven打包的JDK版本不一致。
首先排查IDE相关的配置,这里以IDEA为例,查看项目的JDK(Ctrl+Alt+shift+S)配置,(File ->Project Structure->Project Settings ->Project )。
首先这里要一致,比如都采用JDK1.8。
然后点击上图中Modules,查看工程的JDK配置。
其次还要查看java的compile配置,也就IDEA进行编译的版本设置。具体操作路径为:File–>Other Settings–>Default Settings–>Compiler–>Java Compiler
如果是第一种情况,确保上述三处一致,基本上问题就可以解决。而这三处的一致也是基本要求,否则还可能会引发其他的版本不一致问题。
Maven的JDK版本
第二种引起上述问题的原因是IDEA使用的Maven版本和本地的Maven版本不一致。比如IDEA中配置了自带的Maven版本,本地安装了另外一个Maven版本,此时两个Maven版本不一致,setting.xml配置文件内容也不一致,此时通过IDEA执行和通过本地的mvn命令执行,就有可能出现上述异常。
那么,首先就是排查Idea的maven版本及setting.xml与本地的是否一致。也就是说是否使用的同一个Maven,如果不是请修改一致。
打开setting.xml文件,找到其中的如下配置:
确保项目中使用的jdk版本和此处配置的jdk版本一致,上述异常也会正常解决。对应的配置如下:
<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>
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接