java 技术随笔

解决Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile办法

报错

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project xxx: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

原因

Maven 的 maven-compiler-plugin 编译 Java 源码需要 JDK 里的 javac 编译器。若 Eclipse 中配置的“已安装 JRE”指向的是 JRE(只有运行环境,没有编译器)而不是 JDK,Maven 就找不到编译器,从而报这个错。

解决办法(Eclipse)

  1. Window → Preferences → Java → Installed JREs,点击 Add 选择 JDK 的安装目录(注意是 jdk,不是 jre),勾选启用。
  2. Window → Preferences → Java → Installed JREs → Execution Environments,展开 JavaSE-1.8,在右侧勾选对应的 JDK。
  3. 右键项目 → Maven → Update Project,重新执行 mvn install

命令行 / 通用解决办法

确保 JAVA_HOME 指向 JDK 并且 %JAVA_HOME%/bin 在 PATH 中:

echo %JAVA_HOME%
java -version
javac -version

javac 不存在,说明当前是 JRE,重装/指向 JDK 即可。

标签
mavenjava