项目管理工具maven

介绍

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。

安装

  1. 安装jdk
  2. 安装maven
  3. 配置环境变量

仓库

Maven 仓库能帮助我们管理构件(主要是JAR),它就是放置所有JAR文件(WAR,ZIP,POM等等)的地方。
Maven 仓库有三种类型:

  1. 本地资源库
    Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹。很简单,当你建立一个Maven项目,所有相关文件将被存储在你的Maven本地仓库。默认情况下,Maven的本地资源库默认为 .m2 目录文件夹。通常情况下,可改变默认的 .m2 目录下的默认本地存储库文件夹到其他更有意义的名称。
  2. 中央存储库
    当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载。首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库 – https://search.maven.org/查找下载。
  3. 远程存储库
    在Maven中,当你声明的库不存在于本地存储库中,也不存在于Maven中心储存库,该过程将停止并将错误消息输出到 Maven 控制台。它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件。
    你需要声明远程仓库在 pom.xml 文件这样:
    e.g. 声明Java.net储存库

    
        java.net
        https://maven.java.net/content/repositories/public/
    

现在,Maven的依赖库查询顺序更改为:

  1. 在 Maven 本地资源库中搜索,如果没有找到,进入第 2 步,否则退出。
  2. 在 Maven 中央存储库搜索,如果没有找到,进入第 3 步,否则退出。
  3. 在java.net Maven的远程存储库搜索,如果没有找到,提示错误信息,否则退出

坐标

e.g.


    
        log4j
        log4j
        1.2.14
    

当 Maven 编译或构建,log4j 的 jar 会自动下载,并把它放到 Maven 本地存储库,所有由 Maven 管理。
访问 Maven 中心储存库,搜索下载您想要的jar,找到 Maven 坐标。

生命周期

Maven 有以下三个标准的生命周期:

#1. 项目清理的处理
mvn clean #删除target目录
#2. 项目构建(build)的处理
mvn compile  #编译该项目的源代码
mvn test #运行测试使用合适的单元测试框架(JUnit)
mvn package #提取编译后的代码,并在其分发格式打包,如JAR,WAR或EAR文件
mvn install #将包安装到本地存储库,它可以用作当地其他项目的依赖
mvn deploy #复制最终的包到远程仓库与其他开发者和项目共享
#3. 项目站点文档创建的处理
mvn site #生成项目的站点文档

当一个阶段通过 Maven 命令调用时,例如 mvn compile,只有该阶段之前以及包括该阶段在内的所有阶段会被执行。
每个生命周期中都包含着一系列的阶段(phase)。这些 phase 就相当于 Maven 提供的统一的接口,然后这些 phase 的实现由 Maven 的插件来完成。
我们在输入 mvn 命令的时候 比如 mvn clean,clean 对应的就是 Clean 生命周期中的 clean 阶段。但是 clean 的具体操作是由 maven-clean-plugin 来实现的。
所以说 Maven 生命周期的每一个阶段的具体实现都是由 Maven 插件实现的

POM

POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。
e.g.


        1.8
        4.11
        1.2


        
        
            junit
            junit
            ${junit.version}
            test
        
        
        
            org.slf4j
            jcl-over-slf4j
            ${jcl-over-slf4j.version}
        


      
        
        
            org.apache.maven.plugins
            maven-compiler-plugin
            2.3.2
            
                ${jdk.version}
                ${jdk.version}
            
        
      

构建Java项目

要创建一个简单的 Java 应用,我们将使用 maven-archetype-quickstart 插件。
在下面的例子中,我们将在 C:\MVN 文件夹下创建一个基于 maven 的 java 应用项目。
命令格式如下:

mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

参数说明:

  • -DgourpId: 组织名,公司网址的反写 + 项目名称
  • -DartifactId: 项目名-模块名
  • -DarchetypeArtifactId: 指定 ArchetypeId,maven-archetype-quickstart,创建一个简单的 Java 应用
  • -DinteractiveMode: 是否使用交互模式

你可能感兴趣的:(项目管理工具maven)