Maven(命令行):此环境中未提供编译器

Mat*_*ias 15 command-line

Failed to execute goal or.apache.maven.plugins:maven-compiler-plugin:3.1:comple <default-compile> on project google-play-services: Compilation failure

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
Run Code Online (Sandbox Code Playgroud)

这是在Windows中使用命令行中的Android SDK Deployer时的结果.我添加JAVA_HOME C:\Program Files (x86)\Java\jdk1.7.0_45到我的系统变量中.

我配置了错误的部件吗?

在此输入图像描述

Dhe*_*rik 15

如果安装新版本的JAVA(JRE),也会发生此错误,因为Java安装程序会更改Windows上环境变量的顺序.

因此,请验证系统变量中PATH值.如果你看到:

C:\Program Files (x86)\Common Files\Oracle\Java\javapath
Run Code Online (Sandbox Code Playgroud)

要么:

C:\ProgramData\Oracle\Java\javapath
Run Code Online (Sandbox Code Playgroud)

在列表的顶部,编辑PATH并更改以前路径的顺序以保持在JDK路径变量下方(例如,C:\Program Files\Java\jdk1.8.0_162\bin).


Kan*_*ndy 14

通常会发生这种情况,无法从JRE(运行时环境)编译源代码来运行编译代码.

所以首先要做的是验证环境变量中定义的JAVA_HOME路径.

它应该指向JDK.例如:

C:\ Program Files(x86)\ Java\jdk1.8.0_111

  • JAVA_HOME 对我来说是个问题。即使您将jdk的bin文件夹放入PATH变量中,mvn仍然使用JAVA_HOME。 (2认同)

Mat*_*ias 10

问题很容易解决.我只需要在更改系统变量后重新启动命令行.