mac maven报错 No compiler is provided in this environment. Perhaps you are running on a JRE rather

好久没写博客了,应该是好久没有在csdn写博客了,因年少轻狂,自己也建过独立网站seifly_cn,在自己的网站上写文章,但事于愿违,积累下来的文章因一时疏忽毁于一旦,发现还是专门的网站好,csdn、博客园、微博等大平台10多年的笔记都还在。技术人有个特点,这么多年来还是没变,为解决一个问题都不知道累和睡觉了,还给自己怄气,越来越抓狂,越来越没有耐心了,但发现岁月的变迁人开始变得沉稳了,开始不急不燥,把自己遇到的问题慢慢写下来与大家分享,希望给遇到相同问题的同学一点帮助。

问题发生场景:mac系统升级到12.6.1后,随便把jdk从8升级到jdk11,但发现服务器上jdk还是8,编译后的jar包运行不了(修改编译jdk版本也没用),不得不又重新换回jdk8,直接删除/Library/Java/JavaVirtualMachines目录下11版本的文件夹。也不确定这样对不对,然后修改IDEA下的编译版本和jdk配置,发现出现各种问题。

在idea中运行mvn package报如下错误 

 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project seifly-service: Compilation failure

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?


在mac终端中报错如下:

 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher

解决过程:在idea命令行下运行mvn -v发现

Maven home: /Users/XXX/Documents/work/apache-maven-3.3.9
Java version: 1.8.0_201, vendor: Oracle Corporation
Java home: /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"
发现javahome不对啊,maven默认jdk指向/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home,在终端输入命令echo $JAVA_HOME是正确的jdk路径。这个是在哪里配置的查不到,查了三个配置文件~/.base_profile ~/.zshrc /etc/profile  /etc/zshrc

最后百度 “Java home: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home”

解决方案:

删除/Library/Internet Plug-Ins/JavaAppletPlugin.plugin

参考:android - Could not find tools.jar. Please check that /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home contains a valid JDK installation - STACKOOM

补充知识

MAC OS X环境的所有配置以及加载顺序如下:

# 系统级别
/etc/profile
/etc/paths 

# 用户级别
~/.bash_profile 
~/.bash_login 
~/.profile 

~/.bashrc(或者~/.zshrc)
  • 前两个环境配置在系统启动时候就会加载,针对所有用户生效,后面四个属于具体用户级别的配置

猜你喜欢

转载自blog.csdn.net/s_ongfei/article/details/127816115