Eclipse:Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE)

Eclipse编辑器Gradle(STS)编译代码,报错的问题

使用Gradle(STS)build报错:java.lang.RuntimeException: Cannot find System Java Compiler. Ensure that you have install a JDK not a JRE

首先排查eclipse是否已经导入相应的jre

查看方法:Window---->Preferences—>Java—>Installed jres

Eclipse:Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE)
Eclipse:Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE)
我本机是没问题的,所以排除

网上查了下,可能是Gradle版本的问题

查看Gradle版本:Window—>Preferences—>Gradle

Eclipse:Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE)

我的Gradle版本在公司是可以用的,所以是没有错的

想了半天觉得可能是jdk里边少了javac.exe文件

查询了下本地独立jre目录下和jdk自带jre目录下,确实都没有javac.exe,所以加上了,但是没有用,所以该方法也不适合我的情况

最后查了下*里边的帖子(我没*,所以每次没等网页打开就关了,所以这次多等了会)

这种方法解决了我的问题,主要就是说eclipse在启动的时候需要设置默认的jdk地址,即javaw.exe文件的地址,该地址和eclipse的编译jdk路径需要一致,如果没有加上的话需要加上(特别是在用构建工具如gradle的时候,没用过maven和ant,不知道是不是也受这个影响)

解决的主要步骤:编辑eclipse目录下的eclipse.ini,该文件是eclipse的初始化文件,需要在文件开头加上
-vm
E:\jdk1.8\jdk\bin\javaw.exe
这个字段,即指定eclipse的系统jdk
Eclipse:Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE)
该jdk要和eclipse中的编译jdk是同一个才行,修改保存后重启eclipse,就能用gradle(STS)编译代码了

*帖子原地址:添加链接描述