Maven基础

定义

Maven是Apache公司的开源项目 是项目构建工具,用来依赖管理,基于POM项目对象模型

Maven环境的部署

一. 解压部署Maven核心程序
  1. 将maven解压到一个非中文无空格的目录下
  2. 配置环境变量
    M2_HOME
    path : %M2_HOME%\bin.
  3. 查看Maven版本信息验证安装是否正确
    mvn -v
二.修改本地仓库及配置
  1. 默认本地的仓库位置为: ~.m2\repository
  2. 指定maven默认仓库位置
    在maven的安装路径的conf文件夹中有一个settings.xml ,将localRepository标签中的地址设置为你想要设置的仓库位置
 <localRepository>D:UserData\repo</localRepository>
  1. 设置阿里云的镜像
<mirrors>
<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>        
</mirror>
</mirrors>
三 构建(Build)的生命周期
  1. 校验 validate :验证项目是否正确且所有必须信息是可用的
  2. 初始化 initialize: 初始化构建状态,比如设置属性值。
  3. 编译 compile :将java源程序编译成class字节码文件
  4. 测试 test :自动测试 ,自动调用junit单元测试
  5. 打包 package: 动态web工程打成war包 java工程打成jar包
  6. 集成测试 :integrationTest
  7. 安装 install : 将打包得到的文件复制到本地仓库的指定位置
  8. 部署 deploy : 将动态生成从war包复制到servlet容器的指定目录下,使其可以运行
四 Maven工程目录结构
  1. 创建约定的目录结构
工程名
└─src                      源码
    ├─main                 主程序
    │  ├─java              java源文件
    │  │  └─com            
    │  │      └─woniuxy
    │  │          └─build  包名
    │  └─resources         资源: 配置文件
    └─test                 测试程序
        └─java
            └─com
                └─woniuxy
                    └─build
pom.xml Maven工程的核心配置文件
  1. 为什么要遵守约定的目录结构?(约定>配置)
    ①Maven负责这个项目的自动化构建,以编译为例,Maven要想自动进行编译,那么它必须指定java源文件保存在哪里
    ②要想我们自定义的东西被框架或者工具知道

    • 以配置的的方式明确告诉框架
    • 遵守框架内部已经存在的约定
五 Maven常用的命令
  1. 注意:执行与构建过程相关的Maven命令,必须进入pom.xml 所在的目录
  2. 常用命令
[1] mvn clean 清理
[2] mvn compile 编译主程序
[3] mvn test 执行测试
[4] mvn package 打包
[5] mvn dependency:tree 查看依赖树
[6]mvn archetype:generate  -DgroupId=com.woniuxy.cq  -DartifactId=myweb -Dversion=1.0 快速生成一个maven工程
六 POM(Project Object Model) 项目对象模型

pom.xml 是Maven工程的核心配置文件

七 坐标(定位)
  1. groupId:公司或组织域名倒序
<groupId>com.woniuxy.cq</groupId>
  1. artifactId:项目名
 <artifactId>myweb</artifactId>
  1. version :版本号
 <version>1.0</version>
  1. type:项目类型
  2. classifier:标识符
  3. scope 依赖范围
    [1] compile:编译时依赖在所有阶段都可获得,默认值
    [2] provided:提供的依赖范围用来编译应用程序,但无需部署
    [3] runtime 运行依赖范围在编译阶段是不需要的,只有在运行时需要,比如JDBC驱动程序
    [3] test 测试范围依赖,仅在编译和运行单元测试时需要 Junit
    [4] system 本地依赖,不建议使用
 | **依赖范围****(scope)** | **编译时依赖** | **测试时依赖** | **运行时依赖** | **是否打入包** | **例子**             |
| ----------------------- | -------------- | -------------- | -------------- | -------------- | -------------------- |
| **compile**             | Y              | Y              | Y              | Y              | SLF4J                |
| **provided**            | Y              | Y              | Y              | N              | SERVLET-API          |
| **test**                | N              | Y              | N              | N              | JUNIT                |
| **runtime**             | N              | Y              | Y              | Y              | MYSQL JDBC DRIVER    |
| **system**              | Y              | Y              | Y              | Y              | 有nexus后,不用system |
八 仓库
  1. 仓库的分类
    [1] 本地仓库:当前电脑上所配置的仓库目录
    [2] 私服:国内的镜像仓库
    [3] 中央仓库
  2. 仓库中保存的内容
    [1] Maven自身所需要的插件
    [2] 第三方框架或工具的jar包
    [3]程序员自己开发的Maven工程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值