最近拿到一个maven系统,需要使用jdk1.8的环境才能运行(公司开发使用jdk1.7),于是下载、安装jdk1.8。
安装完成之后(本人使用idea工具),打开module settings,设置里面的Modules->Dependencies->module sdk为安装好的1.8版本,同时还得设置Modules->Dependencies->sources模块中的Language Level为8。
这样操作之后其实只是设置了module的sdk,若是工程中有很多modules,可以直接设置Project菜单下的project sdk,同时别忘了设置project language level。(在jdk1.8中支持了lambda方式,若是使用了,就必须吧language level切换为8,否则是不认的)
这时可以去执行代码,突然发现编译出错
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project jiraRobot: Compilation failure: Compilation failure:
[ERROR] /Users/Documents/workspace/*.java:[29,62] 错误: -source 1.5 中不支持 diamond 运算符
[ERROR] (请使用 -source 7 或更高版本以启用 diamond 运算符)
经过查看应该是利用maven的插件maven-compiler-plugin来进行的编译,但是这个编译指定的版本却是1.5的,所以编译肯定会失败的。
可以通过增加配置,以纠正错误,如下:
org.apache.maven.plugins
maven-compiler-plugin
2.3.2
1.8
1.8
配置修改之后再运行就没有任何问题了。