maven

1.项目构建工具
2.分布式
3.maven简介
4.新建maven项目
5.maven项目目录结构
6.maven项目之间的关系
7.创建war类型项目
8.资源拷贝插件
9.热部署

1.项目构建工具:

  1. Ant 和Maven 都是项目构建工具
  2. 在项目的运行编辑打包等过程都需要依赖于ant 构建工具

2.分布式

  1. 传统项目部署:
    1.1 新建一个项目,通过不同的包区分不同的模块.
    1.2 把这一个项目发布服务器的tomcat 中
  2. 分布式项目部署.(适用于高负载情况下)
    2.1 把一个完整的项目拆分成多个项目,把拆分后的项目分别部署
    到对应的服务器(tomcat)中的过程就叫做分布式项目部署.
    2.1.1 把传统项目包换成一个单独的项目.

3.maven简介

找包会先从本地仓库开始找,本地仓库找不到就回复maven项目,然后在从中央仓库中寻找,找到后返回给项目同时保存到本地仓库

本地仓库:计算机中一个文件夹,自己定义是哪个文件夹.
中央仓库:网上地址https://repo1.maven.org/maven2/

配置国内镜像

alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central

  1. 坐标
    每一jar 文件都有一个唯一坐标.通过坐标可以精确确定是哪个jar

坐标组成:
1 Group ID : 公司名.公司网址倒写
2 Artifact ID : 项目名
3 Version : 版本

  1. pom 项目对象模型
    Project Object Mode。通过maven 构建工具可以让对象(项目)和对象(项目)之间产生关系

4.新建maven项目

5.maven项目目录结构

  1. 目录示意
  2. src/main/java 真实目录的快捷目录,写java 代码
  3. src/main/resources 快捷目录
    3.1 存放配置文件.
    3.2 虽然看见resources 但是里面所有配置文件最终会被编辑放入
    到classes 类路径.
  4. src/test/java 写测试java 代码
  5. src/text/resources 测试的配置文件夹
  6. pom.xml maven 的配置文件
    6.1 当前项目所依赖的其他项目或jar 或插件等

6.maven项目之间的关系

  1. 依赖关系
    1.1 标签把另一个项目的jar 引入到当过前项目
    1.2 自动下载另一个项目所依赖的其他项目
  2. 继承关系.
    2.1 父项目是pom 类型
    2.2 子项目jar 或war,如果子项目还是其他项目的父项目,子项目也是pom 类型.
    2.3 有继承关系后,子项目中出现标签
    2.3.1 如果子项目和与父项目项目,在子项目中可以不配置
    2.4 父项目pom.xml 中是看不到有哪些子项目.在逻辑上具有父子项目关系.

    com.steer
    parent
    0.0.1-SNAPSHOT

  1. 聚合关系.
    3.1 前提是继承关系.父项目会把子项目包含到父项目中.
    3.2 子项目的类型必须是Maven Module 而不是maven project
    3.3 新建聚合项目的子项目时, 点击父项目右键新Maven Module
    3.4 具有聚合关系的父项目,在pom.xml 中

    child2

3.5 具有聚合关系的子项目,在pom.xml 中


    com.steer
    parent
    0.0.1-SNAPSHOT

  1. 聚合项目和继承项目区别
    4.1 在语意上聚合项目父项目和子项目关系性较强
    4.2 在语意上单纯继承项目父项目和子项目关系性较弱
  2. 写在父项目
    5.1 作用:声明可能使用到的所有jar
    5.2 子项目中只需要有坐标的,
    承父项目
    5.3 在父项目中把所有版本好进行统一管理
    5.4 父项目pom.xml
    5.4.1 子标签名称自定义
    5.4.2 ${名字} 引用标签的值
(父项目中)
在父项目中把所有版本好进行统一管理,子标签名称自定义

    4.1.6.RELEASE


// 声明可能使用到的所有jar

    
        
            org.springframework
            spring-webmvc
            ${spring-version}
        
    


(子项目中)
子项目中只需要有坐标的,继承父项目,版本由父项目统一管理

    
        org.springframework
        spring-webmvc
    

7.创建war类型项目

8.资源拷贝插件

  1. maven 默认只把src/main/resources 里面的非.java 文件进行编译到classes 中
  2. 如果希望src/main/java 下的文件也被编辑到classes 中,在pom.xml中配置
    2.1 下面内容配置在

    
        src/main/java
        
            **/*.xml
        
    
    
        src/main/resources
        
            **/*.xml
            **/*.properties
        
    

9.热部署

你可能感兴趣的:(maven)