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)
- Window → Preferences → Java → Installed JREs,点击 Add 选择 JDK 的安装目录(注意是 jdk,不是 jre),勾选启用。
- Window → Preferences → Java → Installed JREs → Execution Environments,展开 JavaSE-1.8,在右侧勾选对应的 JDK。
- 右键项目 → Maven → Update Project,重新执行
mvn install。
命令行 / 通用解决办法
确保 JAVA_HOME 指向 JDK 并且 %JAVA_HOME%/bin 在 PATH 中:
echo %JAVA_HOME%
java -version
javac -version若 javac 不存在,说明当前是 JRE,重装/指向 JDK 即可。