apache 编译java_IDEA编译java程序出现:java无效的源发行版8或者[ERROR] Failed to execute goal org.apache.maven.plugins:m...

当使用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版本不一致

首先看项目的版本:

8b302a079883beab419ad5aa15f16ff5.png

我的项目里使用了1.7的版本,所以要设置IDEA:

1、Ctrl + alt + shift + s配置项目结构,需要配置Project、Modules、SDKs

43a2cc1f8adaa47021b4fa3b4423eb13.png

Project的SDK和language level选择和项目对应的版本

805747afb7e8710661574db9c5248659.png

Modules里将每一个模块的Sources和Dependencies都配置成和项目一样的版本

400a9db781a513d4f2d942a1c4e568bc.png

651c453fa519fe206665f93ea7d524f2.png

SDKs也配置和项目一样的版本

b9e5c64f7697f4e12b54eba03eeaf1a8.png

没有的话这些配置都可以点击+来选择你自己安装jdk的路径

点击Apply和ok是配置生效

2、Ctrl + alt +s打开设置文件,配置Build下的Maven的Importing和Runner,以及Comiler的java Compiler

c6c5353233dce7d6fdc8ff91a830b9d8.png

Maven的配置Importing配置JDK配置成和项目一样的版本

0db024875c059defa54b325cef1f8b96.png

Maven的Runner配置JRE配置成和项目一样的版本

cab94ea16b31d71406b90c121973bfaf.png

java Compiler配置项目Target bytecode version配置成和项目的pom一样的版本

8bc4a836afa0e40c0743a6ac67f56eda.png

当使用IDEA的配置Tomcat来Run/Debug项目,报错[Error] java:无效的源发行版8

那么除了以上需要修改的地方,还需要配置Tomcat

89c32a889ea11e70838e12eb3f2180f3.png

将Tomcat的JRE配置成和项目一样的版本

最后,对于windows10的小伙伴来说是重点,如果以上配置之后还是报相同的错误,除了检查Maven仓库外,还需要检查以下设置(重点!!!)

1、检查环境变量

在win10的系统属性里设置环境变量

8671ff682c68ecb625e8a9e564ca8848.png

首先,设置JAVA_HOME,在系统变量里新建

4a1190db51e02c6b143584d62a13912d.png

其次在Path里,添加

2d88339d9a12d5a619f38e17a72f712b.png

注意一定要使用绝对路径,不然重启电脑,可能会读不到路径

还可以设置CLASSPATH,但是在JDK1.5之后可以不设置,java帮我们搞定了,如果非要设置可以新建.;D:\program\jdk1.8\lib\dt.jar;D:\program\jdk1.8\lib\tools.jar;一定要有 .;

028200617db2350623610e5a727a5dd2.png

可以检验一下,cmd里输入java回车

738fcfea89d5f6cdbf3ba9008db05f83.png

重启电脑之后在cmd里输入java还是这样,说明完全成功了

2、检查在IDEA的时候,有没有勾选download and install JBR x86,不要勾选这个选项,出现这个选项说明你的电脑没有JDK1.8,但是也不要勾选,如果没有出现这个选项,说明你的电脑有了JDK1.8

00ac61cbab9f6060f402371e216d9695.png

如果勾选这个选项,那么IDEA自身会带一套独立于你安装的JER,而且这个JER默认版本为1.8,所以当你前面的配置设置成1.7,而环境变量又没有生效的话,那么IDEA编译java就会调用自己默认的1.8的JER,所以就报了版本的错误

如果这里没法检查当初安装IDEA有没有勾选此选项,那么只有重新安装IDEA

其实这里有一个简便的识别方法

8bc4a836afa0e40c0743a6ac67f56eda.png

我的项目里touch_service,没有在pom文件指出编译版本,所以第一次打开setting时,显示

7f44c163ebe53d2137d936b566705c89.png

说明编译器默认是JDK1.8,如果你的电脑有没有自己安装JDK1.8,那么就是安装IDEA安装时,勾选了download and install JBR x86

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值