当使用IDEA的Maven管理工具,用install或者package给项目打包时,编译器报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile):Fatal error compiling
那么出现这个问题的原因是项目的JDK版本和Maven的JDK版本不一致
首先看项目的版本:
我的项目里使用了1.7的版本,所以要设置IDEA:
1、Ctrl + alt + shift + s配置项目结构,需要配置Project、Modules、SDKs
Project的SDK和language level选择和项目对应的版本
Modules里将每一个模块的Sources和Dependencies都配置成和项目一样的版本
SDKs也配置和项目一样的版本
没有的话这些配置都可以点击+来选择你自己安装jdk的路径
点击Apply和ok是配置生效
2、Ctrl + alt +s打开设置文件,配置Build下的Maven的Importing和Runner,以及Comiler的java Compiler
Maven的配置Importing配置JDK配置成和项目一样的版本
Maven的Runner配置JRE配置成和项目一样的版本
java Compiler配置项目Target bytecode version配置成和项目的pom一样的版本
当使用IDEA的配置Tomcat来Run/Debug项目,报错[Error] java:无效的源发行版8
那么除了以上需要修改的地方,还需要配置Tomcat
将Tomcat的JRE配置成和项目一样的版本
最后,对于windows10的小伙伴来说是重点,如果以上配置之后还是报相同的错误,除了检查Maven仓库外,还需要检查以下设置(重点!!!)
1、检查环境变量
在win10的系统属性里设置环境变量
首先,设置JAVA_HOME,在系统变量里新建
其次在Path里,添加
注意一定要使用绝对路径,不然重启电脑,可能会读不到路径
还可以设置CLASSPATH,但是在JDK1.5之后可以不设置,java帮我们搞定了,如果非要设置可以新建.;D:\program\jdk1.8\lib\dt.jar;D:\program\jdk1.8\lib\tools.jar;一定要有 .;
可以检验一下,cmd里输入java回车
重启电脑之后在cmd里输入java还是这样,说明完全成功了
2、检查在IDEA的时候,有没有勾选download and install JBR x86,不要勾选这个选项,出现这个选项说明你的电脑没有JDK1.8,但是也不要勾选,如果没有出现这个选项,说明你的电脑有了JDK1.8
如果勾选这个选项,那么IDEA自身会带一套独立于你安装的JER,而且这个JER默认版本为1.8,所以当你前面的配置设置成1.7,而环境变量又没有生效的话,那么IDEA编译java就会调用自己默认的1.8的JER,所以就报了版本的错误
如果这里没法检查当初安装IDEA有没有勾选此选项,那么只有重新安装IDEA
其实这里有一个简便的识别方法
我的项目里touch_service,没有在pom文件指出编译版本,所以第一次打开setting时,显示
说明编译器默认是JDK1.8,如果你的电脑有没有自己安装JDK1.8,那么就是安装IDEA安装时,勾选了download and install JBR x86