Mac Apache Maven 配置

1、配置准备工作

  • 1)配置 Maven 准备工作

    • 下载相关软件

      • apache-maven-3.5.3.zip

      • Maven 官网

      • 其它下载地址

  • 2)配置注意事项

    • 提前下载好相关软件,且安装目录最好安装在全英文路径下。如果路径有中文名,那么可能会出现一些莫名其妙的问题。
  • 3)示例配置环境

    • macOS 10.11.6
    • macOS 10.13.3

2、配置 Maven

  • 1)下载 Maven

    • 官网下载 Maven,Mac 系统下载 zip 和 tar.gz 格式都行。
    • 下载完成后将下载包解压拷贝到 /Library 目录下,并命名为 Maven,其他目录也可。
  • 2)配置环境变量

    • 打开终端输入以下命令,打开 .bash_profile 文件

      1
      $ vim ~/.bash_profile
    • 在此文件中添加设置环境变量的命令

      1
      2
      export M2_HOME=/Library/Maven
      export PATH=$PATH:$M2_HOME/bin
    • 添加之后保存并退出,在终端执行以下命令使配置生效

      1
      $ source ~/.bash_profile
  • 3)查看配置是否生效

    • 在终端输入以下命令

      1
      $ mvn -v
    • 如果出现如下,说明配置成功

      1
      2
      3
      4
      5
      6
      Apache Maven 3.5.3 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z)
      Maven home: /Library/Maven
      Java version: 1.8.0_121, vendor: Oracle Corporation
      Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre
      Default locale: en_US, platform encoding: UTF-8
      OS name: "mac os x", version: "10.13.3", arch: "x86_64", family: "mac"

3、Maven 常用命令

3.1 常用命令

命令 作用
maven clean 对项目进行清理,删除 target 目录下编译的内容
maven compile 编译项目源代码
maven test 对项目进行运行测试
maven package 打包文件并存放到项目的 target 目录下,打包好的文件通常都是编译后的 class 文件
maven install 在本地仓库生成仓库的安装包,可供其他项目引用,同时打包后的文件放到项目的 target 目录下
maven deploy 在本地仓库和远程私服仓库生成仓库的安装包,可供其他项目引用,同时打包后的文件放到项目的 target 目录下

3.2 使用场景

  • mvn clean package 依次执行了 clean、resources、compile、testResources、testCompile、test、package 等 7 个阶段。

    • package 命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行 jar 包(war 包或其它形式的包)布署到本地 maven 仓库和远程 maven 私服仓库。
  • mvn clean install 依次执行了 clean、resources、compile、testResources、testCompile、test、package、install 等 8 个阶段。

    • install 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行 jar 包(war 包或其它形式的包)布署到本地 maven 仓库,但没有布署到远程 maven 私服仓库。
  • mvn clean deploy 依次执行了 clean、resources、compile、testResources、testCompile、test、package、install、deploy 等 9 个阶段。

    • deploy 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行 jar 包(war 包或其它形式的包)布署到本地 maven 仓库和远程 maven 私服仓库。

3.3 常见问题

  • mvn clean installmvn install 的区别

    • 根据 maven 在执行一个生命周期命令时,理论上讲,做 mvn install 得到的 jar 包应该是最新的,除非使用其他方式修改 jar 包的内容,但没有修改源代码。
    • 平时可以使用 mvn install,不使用 clean 会节省时间,但是最保险的方式还是 mvn clean install,这样可以生成最新的 jar 包或者其他包。
  • maven 两种跳过单元测试方法的区别

    • mvn package -Dmaven.test.skip=true 不但跳过了单元测试的运行,同时也跳过了测试代码的编译。
    • mvn package -DskipTests 跳过单元测试,但是会继续编译。
    • 如果没时间修改单元测试的 bug,或者单元测试编译错误,则使用第一种,不要使用第二种。
  • maven 和 idea 版本不兼容

    • 使用 maven 3.8.5 和 idea 2021.2.3 时,idea Build -> Sync 中报错 1 error role: org.apache.maven.model.validation.ModelValidator
    • 解决方法:降低 maven 版本到 3.5.4 及以下。
文章目录
  1. 1. 1、配置准备工作
  2. 2. 2、配置 Maven
  3. 3. 3、Maven 常用命令
    1. 3.1. 3.1 常用命令
    2. 3.2. 3.2 使用场景
    3. 3.3. 3.3 常见问题
隐藏目录