在我开始之前,让我告诉你,我已经用谷歌搜索了大约一两个小时,所以请不要回答这个问题说“嘿!你知道谷歌上有很多答案吗?”
现在问题来了:每当我运行 mvn clean package
时,我都会收到此错误 No compiler is provided in this environment。也许您在 JRE 而不是 JDK 上运行?
。我检查了我的 Java 版本,这些是输出。
Java JRE
java -version
返回 java 版本“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"
根据我在 Google 上的发现,应该有一行内容为 Java Home
或 JDK 版本及其路径后跟的内容。如您所见,它没有出现在这里。我已尝试多次设置 JAVA_HOME
变量,并通过执行 echo %JAVA_HOME
验证它是否有效,它返回了正确的路径。
有什么帮助吗?
编辑
echo %JAVA_HOME%
的输出:C:\Program Files\Java\jdk1.8.0_181
系统变量:
最佳答案
您是否设置了JDK_HOME
、JAVA_HOME
和MAVEN_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_home
或 cd 到带有 \
的路径(我需要使用 /
)。
关于java - 此环境不提供编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52316114/