背景

安装了IDEA开发工具,想执行Maven的命令。但是又没有通过自己下载Maven的安装包进行安装,只是想直接使用IDEA自带的Maven插件来执行Maven的各种命令。由于刚开始使用macos对于通过macos配置环境变量不是很熟悉,所以在网上各种查询。试了好多,但是好多的结果都不尽如人意。好多都是片面的,于是通过自己的试验,把通过自己试验和过程中遇到的问题。做了如下的总结。

这篇文章适用于macos新手,开发的新手。大神请跳过。

(不喜勿喷,如有不正欢迎指正,我将万分感谢!)

前提

  • 系统

    MacOS 10.15
  • 开发工具

    IDEA社区版
  • Maven
    • IDEA插件版
    • 安装位置

      /Applications/IDEA.app/Contents/plugins/maven/lib/maven3
  • 修改配置文件工具

    MacOS的命令窗口Terminal

需要解决的问题

1.在terminal命令窗口可以执行maven命令
2.在IDEA开发工具中的terminal窗口中也可以执行maven命令。

解决方案

方案一(不建议)

bash_profile中配置Maven的环境变量。

由于该配置只对当前会话有效,所以每次重新打开命令窗口或者重新开机都要重新执行生效命令。

具体设置方法如下
  • 打开terminal窗口,执行下面命令,查看bash_profile文件内容。
vim ~/.bash_profile
  • 进入编辑模式(i命令)后,添加下面的配置信息。
#配置Maven
export MAVEN_HOME=/Applications/IDEA.app/Contents/plugins/maven/lib/maven3
export PATH=$PATH:$MAVEN_HOME/bin
  • 退出编辑模式(esc命令),然后退出并保存(:wq命令)。
  • 执行下面命令,使配置生效。
source ~/.bash_profile
  • 查看是否配置是否成功。
mvn -v

1.如果出现下面信息则表明配置成功。

1 Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T04:00:29+09:00)
2 Maven home: /Applications/IDEA.app/Contents/plugins/maven/lib/maven3
3 Java version: 1.8.0_241, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home/jre
4 Default locale: en_JP, platform encoding: UTF-8
5 OS name: "mac os x", version: "10.15.3", arch: "x86_64", family: "mac"

2.可能会出现下面的提示信息。

zsh: permission denied: mvn

mvn命令没有被赋予执行的权限。所以我们要执行下面命令,对其进行权限赋予。

chmod a+x /Applications/IDEA.app/Contents/plugins/maven/lib/maven3/bin/mvn

注意下面的方式是错误的。(因为我想对bin下面的所有内容赋予权限)

chmod a+x /Applications/IDEA.app/Contents/plugins/maven/lib/maven3/bin/

权限赋予后,再次执行mvn -v命令即可。

方案二(推荐)

由于方案一每次重新打开一个命令窗口或者重启电脑后,都得执行一下生效命令。

source ~/.bash_profile

这个方案是对zshrc文件中进行配置,达到无论何时何地都可以直接使用maven命令。

具体步骤如下
  • 通过vim编辑zshrc文件,执行下面命令。
vim ~/.zshrc
  • 进入编辑模式(i命令),追加下面的配置。
#配置Maven
export MAVEN_HOME=/Applications/IDEA.app/Contents/plugins/maven/lib/maven3
export PATH=$PATH:$MAVEN_HOME/bin
  • 退出编辑模式(esc命令),并保存退出(:wq命令)。
  • 执行生效命令。
1 source ~/.zshrc
  • 测试是否配置成功。
mvn -v
  • 配置成功后显示如下信息。
1 Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T04:00:29+09:00)
2 Maven home: /Applications/IDEA.app/Contents/plugins/maven/lib/maven3
3 Java version: 1.8.0_241, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home/jre
4 Default locale: en_JP, platform encoding: UTF-8
5 OS name: "mac os x", version: "10.15.3", arch: "x86_64", family: "mac"

写在最后

不亲自动手试验写出的博客都是在浪费阅读者的时间,愿自己的每一次动手试验后的总结能对遇到同样问题的你有所帮助。

MacOS如何正确配置Idea自带Maven插件的环境变量?(亲测)的更多相关文章

  1. maven安装和环境变量配置

    maven安装和环境变量配置 myeclipse自带maven(Maven4MyEclipse)创建项目:新建Web Projects项目,在新建的页面上打上maven的勾.新建的项目里会多出个pom ...

  2. java、maven、tomcat 环境变量配置

    Linux 配置java.maven.tomcat 环境变量 打开 /etc/profile 在下面写上 # java env JAVA_HOME=/usr/local/tools/java   (j ...

  3. 大数据之路week05--day02(Maven安装,环境变量的配置及基本使用)

    今天我们就来学习一下maven,怎么说呢,maven更像是一种管理的工具,实现的原理是使用插件. 举个例子,比如说,一个公司需要做一个项目,这个项目又分成了很多的模块,每个模块又分成了许多的业务等等, ...

  4. Windows环境下maven 安装与环境变量配置

    Maven是一个项目管理的Java 工具,在JavaEE中,我们可以使用Maven方便地管理团队合作的项目,现在我们在学习JavaEE框架,使用Maven可以管理类库,有效方便地供团队中的其他人员使用 ...

  5. maven安装与环境变量配置

    一.什么是maven Maven基于项目对象模型(POM Project Object Model),可以通过一小段描述信息(配置文件)来管理项目的构建.报告和文档的软件项目管理工具. 同时也是跨平台 ...

  6. Maven下载与环境变量配置

    前言: Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK.如果还未安装 JDK,可以参考Win10下JDK下载与环境变量配置. 项目 要求 JDK Maven 3.3+ ...

  7. 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用

    史上最详细Windows版本搭建安装React Native环境配置   2016/01/29 |  React Native技术文章 |  Sky丶清|  95条评论 |  33530 views ...

  8. 配置免安装版JAVA1.7的环境变量

    我用的是免安装版JAVA1.7,假设想获取JDK能够联系问我要. 1.開始配置环境变量,右击[我的电脑]---[属性]-----[高级]---[环境变量],如图: 2.选择[新建系统变量]--弹出&q ...

  9. 【JDK配置原创】JDK(JRE)环境变量配置原理 --费元星

    已经配置了很多次jdk了,每次都是安装网上的教程配的,今天突然想了解了解原理了,整理一下! 参考贴( http://blog.csdn.net/wkupaochuan/article/details/ ...

随机推荐

  1. 深入学习redis 的线程模型

    一.redis 的线程模型 redis 内部使用文件事件处理器 file event handler,它是单线程的,所以redis才叫做单线程模型.它采用IO多路复用机制同时监听多个 socket,将 ...

  2. 社区布道师揭秘消息中间件技术内幕,撰写MQ架构设计与实现原理

    RocketMQ是什么 RocketMQ是由阿里捐赠给Apache的一款分布式.队列模型的开源消息中间件,经历了淘宝双十一的洗礼. RocketMQ的特性 RocketMQ基本概念 Client端 P ...

  3. Python超级码力在线编程大赛初赛题解

    P1 三角魔法 描述小栖必须在一个三角形中才能施展魔法,现在他知道自己的坐标和三个点的坐标,他想知道他能否施展魔法 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后, ...

  4. 初级知识点一——C#中的值类型与引用类型

    从C#语言的定义中可以知道,C#支持两种值类型,分别是 值类型和引用类型,那么两者的区别到底在哪儿呢? 值类型特点: 1. 值类型包含 a 预定义的值类型 b 用户自定义的值类型(struct) 2. ...

  5. javascript事件环微任务和宏任务队列原理

    哈喽!大家好!我是木瓜太香,我又来嘞,今天来说说前端面试中经常别问到的 JS 事件环问题. JS 事件环 JS 程序的运行是离不开事件环机制的,这个机制保证在发生某些事情的时候我们有机会执行一个我们事 ...

  6. 【Flutter 实战】1.20版本更新及新增组件

    老孟导读:Flutter 1.20 更新了 Slider.RangeSlider.日期选择器组件.时间选择器组件的样式,新增了交换组件:InteractiveViewer,下面详细介绍其用法. 滑块 ...

  7. Oracle Rman备份恢复和管理

    参考资料: Oracle之Rman入门指南 一步一步学Rman Rman简介 Rman-Recover manager恢复管理工具. Oracle集成了很多环境的一个数据库备份和恢复的工具. Rman ...

  8. mac如何安装YaPi

    首先介绍一下YaPi是干什么的. 帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理.免费 ...

  9. Django 多页面间参数传递用session方法(Django七)

    由一个页面跳转至另一个页面可以有render中携带几个参数,如下:照上例便在跳转到homepage页面后使用传递的四个参数了 但问题是如何在由homepage跳转到其他页面时仍可以使用这四个参数呢?我 ...

  10. java键对值SHA256加密接口请求

    import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.htt ...