Maven

maven作用流程

    首先根据坐标查找本地仓库,如果找到,就直接使用。如果没有,
如果远程仓库存在该文件,Maven会将其下载到本地仓库中,继而使用。
如果尝试过所有远程仓库之后,Maven还是没能够下载到该文件,它就会报错。

传送门

maven repository
    http://maven.apache.org/guides/introduction/introduction-to-repositories.html

maven  mirror
    http://maven.apache.org/guides/mini/guide-mirror-settings.html

maven setting.xml
    http://maven.apache.org/settings.html

maven pom.xml
    https://maven.apache.org/pom.html

1.mvn 命令

-v      查看maven版本
compile 编译
test    测试
package 打包

clean   删除target
install 安装jar包到本地仓库中 将package后的内容,
        拷贝到.m2/repository

2.maven archetype快速初始化

1.  mvn archetype:generate 按照提示进行
2.  mvn archetype:generate 
                    -DgroupId=com.thinvent.jails
                    -DartifactId=Jails-third
                    -Dpackage=com.thinvent.jails

3.maven仓库

仓库
    本地仓库
        默认是用户家目录下的.m2/repository
        可以通过修改settings.xml中的 localRepository设置
    远程仓库
        一般仓库
        镜像仓库
            为了解决网络和安全问题搭建的仓库。

  
  mirrorId  
  repositoryId  
  Human Readable Name for this Mirror.  
  http://my.repository.com/repo/path  
  

4.完整的maven项目过程

清理工作clean
    pre-clean   清理前工作
    clean       清理上次构建生成的文件

核心过程default
    compile     编译代码
    test        编译测试
    package     项目打包
    install     安装到本地

生成站点site
    pre-site    准备生成
    site        生成文档
    post-site   文件操作
    site-deploy 发布站点到服务器

5.pom.xml文件解析

modelVersion    POM版本
groupId         反写的公司网址+项目名
artifactId      项目名+模块名
version         第一个0便是大版本号
                第二个0表示支版本号
                snapshot    快照版
                alpha       内部测试版
                bate        公测版
                Release     稳定版
                GA          正式版
packaging       打包方式,默认是jar
name            项目名
url             项目地址
description     项目描述
developers      开发人员
liensces        许可证
organization    组织

dependencies    项目依赖列表
    dependency      项目依赖
        groupId
        artifactId
        version
        type
        scope       依赖作用域,classpath类型
        optional    依赖是否可选
        exclusions  排除传递依赖列表,默认是传递依赖的。
            exclusion

dependencyManagement    依赖的管理,用户提取多模块依赖中的公用内容

build           构建
    plugins         插件列表
        plugins         插件
            groupId
            artifactId
            version

parent          用户子依赖继承

modules         多模块只当

6.Maven ClassPath

maven中指定6种classpath 编译运行和测试
compile     编译和测试
runtime     执行和测试
test        测试
system      与本机相关,可移植性差
import      只用在dependencyManagment种

7.maven传递依赖

A依赖B,B依赖C,那么A依赖C。   

8.maven依赖冲突

依赖路径短路优先。
路径长度相同,谁先声明则使用谁

9.maven聚合

modules     多个项目一起执行。一起进行maven操作

10.maven继承

在聚合时,多个项目公用的dependency,可以将dependency放置到
dependencyManagement中,在其他pom中使用parent标签引用并继承它。

你可能感兴趣的:(maven,maven基础,maven教程)