首页 > 解决方案 > 此环境中未提供编译器

问题描述

在我开始之前,让我告诉你我已经在谷歌上搜索了大约一两个小时,所以请不要回答这个问题说“嘿!你知道谷歌上有很多答案吗?”

现在问题是:每当我运行时mvn clean package,我都会收到此错误No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?。我检查了我的 Java 版本,这些是输出。

Java JRE

java -version回来java version "1.8.0_181"

Java JDK

javac -version回来javac 1.8.0_181

Maven版本

mvn -version回来

Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T20:33:14+02:00)
Maven home: C:\Program Files\Apache\maven
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jre1.8.0_181
Default locale: nl_NL, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

从我在谷歌上找到的内容来看,应该有一行说Java Home或后面跟着 JDK 版本和它的路径。如您所见,它没有出现在这里。我已尝试多次设置JAVA_HOME变量,并通过执行验证它是否有效,echo %JAVA_HOME它返回了正确的路径。

有什么帮助吗?

编辑 输出echo %JAVA_HOME%C:\Program Files\Java\jdk1.8.0_181

系统变量:

在此处输入图像描述

标签: javamaven

解决方案


你有JDK_HOME,JAVA_HOMEMAVEN_HOME环境变量设置吗?正如@Chris311 在他的评论中所说, echo %JAVA_HOME或者在 Windows 中设置将显示环境变量是否设置正确。

set JAVA_HOME

是的,JAVA_HOME应该指向JDK,而不是JRE。例如,对于我的 Windows 机器,它是JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181.

在此处输入图像描述

更新

正如我们所知道的,它在 git bash 控制台中不起作用,但它在命令行中起作用。我测试mvn clean package了自己,它似乎工作。但是,某些在 cmd 中工作的命令在 git bash 中不起作用,例如set java_homecd 或 cd 到带有\(我需要使用/)的路径。


推荐阅读