写了几年代码了, 回到最初了遇到了bug了,没有仔细思考,以为很容易,起始走到了误区,有种打了一辈子鹰,最后被麻雀啄了眼 de 感觉
首先来看一下我们的错误信息,如下:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project secutity: Compilation failure: Compilation failure: [ERROR] /E:/java/commonutils/secutity/src/main/java/com/yuxuntoo/www/secutity/filter/TokenAuthFilter.java:[128,68] -source 1.5 中不支持 diamond 运算符 [ERROR] (请使用 -source 7 或更高版本以启用 diamond 运算符) [ERROR] /E:/java/commonutils/secutity/src/main/java/com/yuxuntoo/www/secutity/filter/TokenLoginFilter.java:[65,35] -source 1.5 中不支持 diamond 运算符 [ERROR] (请使用 -source 7 或更高版本以启用 diamond 运算符) [ERROR] /E:/java/commonutils/secutity/src/main/java/com/yuxuntoo/www/secutity/entity/SecurityUser.java:[37,66] -source 1.5 中不支持 diamond 运算符 [ERROR] (请使用 -source 7 或更高版本以启用 diamond 运算符) [ERROR] -> [Help 1]
再来看看我们怎么解决的?
最后解决方案
File –> Project Structure -> Modules 调整我们的jdk版本
还要查看java的compile配置,也就IDEA进行编译的版本设置。具体操作路径为:File –> Settings –> Build, Execution, Deployment–>Compiler–>Java Compiler 查看我们的编译配置,如下图
很清晰的看到了我们这里的编译配置jdk确实是1.5版本的,所以,将这里改为jdk8,再次尝试编译,没有错误提示了!
如果上述步骤还是无法解决我们的编译打包,报错问题,我们即可更改我们的maven中settings.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>
这样调整完成以后,我们便可以正常的编译以及打包操作了!
至此,我们解决-source1.5中不支持diamond运算符的错误问题已经完成了!谢谢大家的查看!
欢迎大家关注我的公众号《coder练习生》