java - 此环境中未提供编译器
问题描述
在我开始之前,让我告诉你我已经在谷歌上搜索了大约一两个小时,所以请不要回答这个问题说“嘿!你知道谷歌上有很多答案吗?”
现在问题是:每当我运行时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
系统变量:
解决方案
你有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 或 cd 到带有\
(我需要使用/
)的路径。
推荐阅读
- javascript - 单击时更改弧的颜色
- react-native - .map 内部调用函数反应原生
- python - 实例化 Julia“对象”(调用包装的 C/C++ 函数)时触发包装的 C/C++ 重建
- docker - Github Actions 上的 docker 镜像错误
- python - 需要使用reportlab在一行中进行两个不同的对齐
- spring - Spring cloud config客户端无法解析值“$ {driverClassName}”中的占位符“driverClassName”
- r - 使用 for 循环在 R 中动态创建子集
- javascript - 如何以正确的顺序生成字母表?
- html - 为什么 href 在 iOS 上不起作用,而在包括 Mac 在内的任何其他设备上都可以正常工作?
- html - Angular 模板驱动表单:验证至少一个已填充