一、Maven的生命周期

        一个项目的构建过成通常包括清理、编译、测试、打包、集成测试、验证、部署等。Maven从中抽取了一套完善的、易扩展的生命周期。

       Maven的生命周期是抽象的,其中的具体任务都交由插件来完成。Maven为大多数构建任务编写并绑定了默认的插件。

1、Maven的内部有三个构建生命周期:分别是 clean、default、site,每个生命周期都包含了一些阶段(phase)

      三个构建生命周期相互独立,但各个生命周期中的phase却是有顺序的,且后面的phase依赖于前面的phase。执行某个phase时,其前面的phase会依顺序执行,但不会触发另外两套生命周期中的任何phase。

      

       

        

二、Maven的常见命令

      

validate:验证项目是正确的,所有必要的信息都是可用的
compile:编译项目的源代码
test:使用适当的单元测试框架测试编译后的源代码。这些测试不应要求将代码打包或部署
package:使用已编译的代码,并将其打包成可分布格式,例如JAR。
verify:对集成测试的结果进行任何检查,以确保满足质量标准
install:将包安装到本地存储库中,以便在本地其他项目中使用该包
deploy:在构建环境中完成,将最终的包复制到远程存储库中,以便与其他开发人员和项目共享。

       这些生命周期阶段(加上这里没有显示的其他生命周期阶段)是按顺序执行的,以完成默认的生命周期。鉴于上面的生命周期阶段,这意味着当使用默认的生命周期时,Maven将会优先执行检查项目(validate),然后将会尝试编译源代码(compile),运行集成测试方案(test),验证了集成测试(verify),验证包安装到本地存储库(install),然后将安装包部署到远程存储库(deploy)。

    参考文章:Maven常用命令详解

三、Maven POM

       POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了整个项目的基本信息,如何构建项目、项目依赖的jar包等。

       执行任务或目标时,Maven会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。  

   参考文章: pom.xml标签大全详解--菜鸟教程

 

四、创建一个Maven项目简单测试命令

1、创建Maven项目(Jar包)

    1)创建一个简单 Maven项目目录相对完整(推荐

         若需额外的文件目录自己手动创建就好了,不推荐使用模板创建maven项目。

         

        

    2)pom.xml,引入junit 做测试

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <!-- 模型版本。maven2.0必须是这样写,现在是maven2唯一支持的版本 -->
    <modelVersion>4.0.0</modelVersion>

    <!-- 公司或组织的唯一标志(包结构),并且配置时生成的路径也是由此生成 -->
    <groupId>cn.jq.mavenjar</groupId>
    <!-- 项目名称,一个groupId下若有多个项目,通过artifactId来区分 -->
    <artifactId>mavenjar</artifactId>
    <!-- 本项目/工程的版本号 snopshot: 处于开发阶段的测试版本,不稳定的 release: 发布版本,稳定的 -->
    <version>0.0.1-SNAPSHOT</version>
    <!-- 打包机制:jar(普通java工程,默认可省略),war(web工程),pom(父工程) -->
    <packaging>jar</packaging>

    <!-- 定义本项目的依赖关系 -->
    <dependencies>
        <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

    </dependencies>
</project>

2、Hello类与测试类,简单测试

       

3、Eclipse中执行 maven命令

1)compile:编译源代码(只编译main下的java文件),即target下会生成编译文件

2)test:运行项目中的单元测试

    

3)package:根据项目生成jar/war文件,即target下会生成jar文件

   

4)install:将开发的模块放到本地仓库中(位置有gav决定),供其他模块使用

      

5)clean:清除目标目录中的生成结果。即清除target下会生成的所有文件

 

     站在前辈的肩膀上,每天进步一点点

ends~

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐