在IDEA控制台中,使用sh build.sh命令执行打包文件进行项目打包报错
遇到的错误如下
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project XXXXX: Compilation failure [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
根据网上的帖子,问题可能是如下几个:
-
项目中不同模块对应的jdk版本不一致
-
jdk对应的环境变量配置不正确
-
maven版本与jdk版本不兼容
当我输入mvn -v 查看maven版本时发现
Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d) Maven home: /Users/trunks/documents/Application/apache-maven-3.8.1 Java version: 1.8.0_291, vendor: Oracle Corporation, runtime: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home Default locale: zh_CN, platform encoding: UTF-8 OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"
这里竟然是/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
所以果断打开IDEA的Preferences - Build,Execution,Deployment - Build Tools - Maven - Runner 将JRE的地址改为正确的地址
点击Apply,再点击OK
重新在控制台输入mvn -v后发现
trunks@didideMacBook-Pro devcon-business % mvn -v Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d) Maven home: /Users/trunks/documents/Application/apache-maven-3.8.1 Java version: 1.8.0_291, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"
runtime已经正确变更为/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home/jre,接下来可以正常进行打包了



