Maven快速入门

156 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

2.3 Maven

  • Maven是专门管理和构建Java项目的工具,它的主要功能有:
    • 提供一套标准化的项目结构(eclipse、idea通用代码)
    • 提供一套标准化的构建流程(编译、测试、打包、发布......)
    • 提供一套依赖管理机制(jar包、插件等)

2.3.1 Maven 安装配置

  • 说明:当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包:
    • 如果有,则在项目中之间引用;
    • 如果没有,则会去中央仓库中下载对应的jar包到本地仓库。
  • 下载仓库地址: maven下载
  • 配置环境变量:

img

紧接着在path中设置:

img

  • 然后运行:mvn -version 当出现下面内容说明环境变量配置成功

img

  • 配置本地仓库: 修改conf/settings.xml中的为一个指定目录

img

img

  • 配置阿里云的私服:修改conf/settings.xml中的 标签,为其添加如下子标签:(下载速度很快)
 <mirror>
     <id>alimaven</id>
     <mirrorOf>central</mirrorOf>
     <name>aliyun maven</name>
     <url>http://maven.aliyun.com/nexus/content/groups/public</url>
 </mirror>

img

2.3.2 Maven的基本使用

2.3.2.1 Maven的常用命令

  • compile:编译
  • clean:清理
  • test:测试
  • package:打包(生成jar包)
    • windows java -jar xxx 运行
    • liunx nohup java -jar xxx.jar &
    • 如果想停止jar运行,ps -ef查看进程(进程多的话也可以加上grep),找到对应的java进程,kill掉。
    • jar xvf test.jar 解压包
  • install:安装(将jar包存储到本地仓库中)

2.3.2.2 Maven的生命周期

  • Maven构建项目生命周期描述的是 一次构建过程经历 一共经历了多少个事件
  • Maven对项目构建的生命周期划为3套
    • clean:清理工作
    • default:核心工作,例如编译,测试,打包,安装等
    • site:产生报告,发布站点等
  • 同一生命周期内,执行后面的命令,前面的所有命令会自动执行(complie->clean->test->package->install)

2.3.2.3 IDEA 配置 Maven环境

  1. 选择IDEA中File --> Settings
  2. 搜索 maven
  3. 设置IDEA 使用本地安装的 Maven,并修改配置文件路径

img

2.3.2.4 Maven坐标详情

  • Maven中的坐标是 资源的唯一标识
  • 使用坐标来定义项目或者引入项目中需要的依赖
  • Maven坐标的主要组成
    • groupld:定义当前Maven项目隶属组织的名称(通常是域名反写,例如:com.itlaity)
    • artifactld:定义当前Maven项目的名称(通常是模块的名称,例如:order-server、goods-server)
    • version:定义当前项目版本号

2.3.2.5 创建Maven项目

参考:IntelliJ IDEA 15 创建maven项目 - Tom1997 - 博客园

2.3.2.5 IDEA 导入Maven项目

img

2.3.2.6 Maven插件

配置Maven-Helper插件

  1. 选择IDEA中 File ->Settings
  2. 选择 Plugins
  3. 搜索 Maven,现在第一个 Maven Helper,点击install安装即可
  4. 重启IDEA

2.3.3 依赖管理

使用坐标导入jar包

  1. 在pom.xml 中编写 标签
  2. 在 标签中 使用 引入坐标
  3. 定义坐标的 groupld,artifatld,version
  4. 点击刷新按钮,使坐标生效。
     <!--导入mysql 驱动 jar包-->
     <dependencies>
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
             <version>5.1.48</version>
         </dependency>
 
         <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>druid</artifactId>
             <version>1.1.12</version>
         </dependency>
     </dependencies>