maven的知识图谱

maven

1.maven的好处

 

 java项目管理工具

  依赖管理

   对jar包统一管理

    项目名称

    公司/组织

    版本信息

    本地仓库

   由于索引的存在,找jar包很快

  项目构建

 依赖管理

  传统项目

   很大

    包含jar包

   多个项目需要同一jar包,需要反复copy,浪费空间

  maven项目

   很小

    不包含jar包

    通过坐标到本地仓库找

   多个项目需要同一jar包,配置坐标

 项目构建

  传统项目

   清理

   编译

   测试

    例如junit单元测试

   运行

   打包

   部署

  maven项目

   都通过一个命令完成上述步骤

    例如:mvn tomcat:run

   它跟eclipse和tomcat没有关系

    直接就能运行web项目

 方便项目间引用

  私有项目分享到私服

2.安装

 解压,路径不要出现中文

 配置MAVEN_HOME

  值为maven的根目录

  尽量配置全局的,不要配置用户的

 配置PATH

  值为%MAVEN_HOME%\bin;

 配置完成之后,执行:mvn -v

3.概念

 本地仓库

  程序员的本地计算机磁盘

 中央仓库

  apache的maven团队维护

 私服

  放在公司局域网

   存放jar包

 项目-->本地仓库-->私服-->中央仓库

4.settings.xml

 是maven工具的全局配置

 localRepository

  指定本地仓库

6.常用命令

 mvn clean

  清理

  清理项目根目录下的target目录

   清理后target目录消失

 mvn compile

  编译

  将项目中的java文件编译成.class文件

   生成target目录

 mvn test

  测试

  执行test/java目录下的单元测试代码

   单元测试类必须是以xxxTest.java结尾

 mvn package

  打包

  打包到target目录下

   根据项目类型可以打包成jar或者war

 mvn install

  安装

  打包项目到本地仓库

 生命周期

  在一套生命周期内:执行后面的命令,前面的命令会自动执行

   compile、test、package、install、deploy

5.maven项目

 src

  项目源码

  main

   maven项目主体程序代码

   java

    java代码

   resources

    配置文件

   webapp

    相当于webContent

    jsp

    WEB-INF

  test

   测试目录

   java

    单元测试类根目录

   resources

    配置文件,一般不用

 pom.xml

  maven项目核心配置文件,有且仅有一个

 target

  编译完成之后才会有该目录

 使用javaEE视图,更加符合上述目录

 eclipse

  配置maven

   配置maven的根目录

   配置user Settings

    指定maven的settings.xml配置文件

   构建索引

    提高找jar包的速度

    操作步骤,基于eclipse mars2

     window

      show view

       other

        maven

         maven Repositories

          local Repositories

           local Repository

            右键

             rebuild Index

  创建工程

   maven project

    普通maven工程

    父工程

   maven model

    创建子模块

   骨架artchtype

    web工程

     webapp

    jar工程

     quickstart

    使用骨架创建工程会导致某些目录缺失,需要手动创建

    一般创建简单的工程

   坐标界面

    Group Id

     组织名称

      一般是组织或公司域名倒序

    Artifact Id

     项目名称

    Version

     版本

     SNAPSHOT

      快照或者测试版本

     RELEAZE

      正式发行版本

    Packaging

     打包方式

     jar

      java工程

     pom

      父工程

     war

      web工程

    scope

     依赖范围

     compile

      编译、测试、运行

       spring-core

     test

      测试

       junit

     provided

      编译、测试

       servlet-api

     runtime

      测试、运行

       jdbc

     system

      编译、测试

       本地的maven仓库之外的类库

     默认是compile

     注意:servlet-api、jsp-api一定要provided,防止打包部署时,出现jar包冲突

   缺陷

    web.xml缺失

    jdk版本

     配置jdk插件

     自动补全

  运行工程

   run as...

   maven build

    记录命令执行历史

   maven build...

    输入执行命令

   maven install

    安装

   maven clean

    清理

依赖传递

posted on 2018-07-19 20:08  伪全栈的java工程师  阅读(287)  评论(0编辑  收藏  举报