maven构建java项目工具介绍

Java基础

浏览数:473

2019-5-18

一、maven用途

  1. java在创建项目的时候,可以自己手动创建,也可以利用工具创建,也就是maven来创建。
  2. maven可以用来创建项目、部署项目、安装管理依赖、编译代码、管理二进制等。
  3. maven的目的是使项目过程规范化、自动化、高效化及强大的可扩展性。
  4. 利用maven自身和插件获得代码检查报告、单元测试覆盖率、实现持续集成
  5. maven最主要的用途是依赖管理,如果不使用maven,项目若需要某个jar包就需要手动下载,而maven则只要在pom配置文件手动加depency配置就能自动下载需要的依赖的jar包
  6. 实际上,maven一些命令执行的类似编译代码打包代码,都是执行的java命令,所以,maven就是在执行一系列java命令来完成项目的各种用途

二、maven核心概念

  1. pom

    (1)maven配置项目中最基础的配置文件,在项目根目录下,一般为pom.xml
    (2)主要是对项目相关信息的一些配置,最常见的就是依赖的引入配置
  2. artifacts

    (1)项目将会生成的一些包或者二进制等文件
    (2)Artifacts指的就是项目的项目发行时产生的一些文件
  3. repositories

    (1)存储artifact工具的仓库或者包的仓库,分为本地和远程仓库
  4. build lifecycle

    (1)每个任务task执行有一个顺序的链条phase,比如mvn install任务执行之前会先执行其他的phase(具体的顺序的phase链条可以自行搜索)
    (2)几个重要的顺序的phase链条:
           validate 验证项目是否正确以及必须的信息是否可用
           compile 编译源代码
           test 测试编译后的代码,即执行单元测试代码
           package 打包编译后的代码,在target目录下生成package文件
           integration-test 处理package以便需要时可以部署到集成测试环境
           verify 检验package是否有效并且达到质量标准
           install 安装package到本地仓库,方便本地其它项目使用
           deploy 部署,拷贝最终的package到远程仓库和替他开发这或项目共享,在集成或发布环境完成
  5. goal

    (1)代表某一个具体的task,比如mvn install
    (2)执行某个goal时候,必须按照顺序执行前边的phase才行,比如mvn install执行的时候,先执行validate\compile\test\package\integration-test\verify这些phase后,再执行install,这是build lifecycle规则

三、maven配置

  1. setting.xml

    (1)maven工具本身的配置文件是setting.xml,可以配置maven的repository仓库地址,镜像地址等,一般是在maven/conf/setting.xml中
  2. pom.xml

    (1)setting.xml主要是对maven的配置,那么pom.xml就是对要创建的项目的相关配置,可以配置项目的依赖,jdk版本等,一般是在项目的根目录下,都会有一个pom.xml文件
  3. 关于maven配置远程镜像(主要是为了下载需要的依赖jar包等):

    (1)现在pom.xml文件中引入要使用的依赖
    (2)setting.xml中查找镜像标签<mirrors>,因为maven原本的远程仓库地址镜像是国外的,下载需要的jar包速度比较慢,因此可以修改mirrors为中国的镜像地址加快upload速度,一般使用阿里的:
       <mirrors> 
           <mirror>
                <id>alimaven</id> 
                <name>aliyun maven</name> 
                <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
                <mirrorOf>central</mirrorOf> 
           </mirror> 
       </mirrors>
    

四、maven常用的命令

  1. mvn archetype:generate -DgroupId=otowa.user.dao -DartifactId=user-dao -Dversion=0.01-SNAPSHOT
    —— 创建项目
  2. mvn compile
    —— 编译项目
  3. mvn package
    —— 打包项目
  4. mvn deploy
    —— 部署项目
  5. mvn install
    —— 安装jar包到本地仓库repositories
  6. mvn clean
    —— 对项目进行清理,清理的过程中会删除删除target目录下编译的内容。
  7. 其他常用命令参考:https://www.cnblogs.com/wkrbk…

五、参考链接

https://www.trinea.cn/android…
https://www.cnblogs.com/xdp-g…

六、maven思维导图

作者:繁星落眼眶