精华内容
参与话题
问答
  • maven生命周期

    2020-10-06 09:53:12
    maven生命周期

    maven生命周期

    展开全文
  • Maven生命周期

    2018-02-11 22:04:30
    Maven生命周期
    1、compile编译:  mvn compile
      将项目的.java包编译为.class文件


    2、test:单元测试
       单元测试类名要求:XXXTest.java
       将项目单元测试类下的src/test/java下的类都会执行
    3、package:打包  
       web project ---war包
       Java project ---jar包
       将项目打包,打包的项目在target目录下
    4、install :安装
      解决本地多个项目共用一个jar包
       打包到本地创库
    *执行后面的命令前面的命令都会执行,这个叫maven的生命周期。


    5、在maven中存在三套生命周期,每一套都是相互独立的,互不影响


     cleanlifeCycle:清理生命周期
        clean
     *defaultLifeCycle:默认生命周期
       compile、test、package、install、deploy
     siteLifeCycle:站点生命周期
       site
    ————————————————————————————————————————————————————————————————————
    eclipse运行maven工程--run--maven build..-->输入tomcat:run
    maven工程debug调试:debug-->maven build..--->首先在source下添加源码才可调试--->tomcat:run
    展开全文
  • Maven 生命周期

    2019-06-22 11:52:17
    Maven 生命周期1 简介2 AstractBuild3 三套生命周期3.1 三套生命周期3.2 命令行与生命周期3.2.1 mvn clean3.2.2 mvn test3.2.3 mvn clean install4 ...Maven生命周期和插件有怎样的关系?Maven有哪些生命周期,一...

    1 简介

    在Maven中一共有如下的核心概念
    在这里插入图片描述
     在接下来的一系列文章中,生命周期和插件是要阐述的目标。Maven生命周期和插件有怎样的关系?Maven有哪些生命周期,一个人的生命周期有婴儿、少年你、青年、壮年、老年等阶段,在Maven中生命周期分为那些阶段?Maven提炼出这些生命周期阶段有着怎样的好处呢?
     Maven的生命周期就是为了对所有的构建过程进行抽象和统一Maven从大量项目和构建过程中学习和反思,然后总结了一套高度完善的易于扩展的生命周期。这个生命周期包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤

    2 AstractBuild

    public abstract class AbstractBuild(){
        public void build(){
            initialize(); // 初始化工作
            compile(); // 编译
            test();        // 测试
            packagee(); // 打包
            integrationTest(); // 集成测试
            deploy();  // 部署
        }
    }
    

     如上述简单抽象类而言,在Maven设计中,实际的任务都交由插件来完成。这种思想与设计模式中的模板方法模式Template Method类似,由Maven规定了构建的整体过程,而子类可以通过实现或者重写父类的方法来控制实际的行为,即保持扩展性,又严格的控制整体结构。
     在实际执行类似mvn clean或者mvn compile的命令时,实际上均调用了相应的插件来执行相应的功能。可以理解为插件实现了生命周期中各个阶段的对应抽象方法。生命周期抽象了构建的各个步骤,定义了它们的次序,但没有给出具体的实现。当然不能让用户为了编译而写出一堆代码,因为这样成千上万的用户均可能给出个性化的实现,这样显然增加了实际构建的复杂性,Maven设计了插件机制。每个构建步骤都可以绑定一个或者多个插件行为(插件目标Plugin Goal),虽然Maven提供了许多的插件,但为了个性化用户需求,Maven开放了插件配置的能力,可以自定义插件执行任务时的配置。
     Maven的生命周期和插件机制一方面保证了所有的Maven项目有一致的构建标准,另一方面通过默认插件简化和稳定了实际项目的构建。此外,该机制提供了足够的扩展空间,用户可以通过配置现有插件或者自行编写插件来自定义构建行为。

    3 三套生命周期

    3.1 三套生命周期

    在这里插入图片描述
    Maven 有三套相互独立的生命周期,分别是clean、default和site。

    1. clean生命周期的目的是清理项目
    2. default生命周期的目的是构建项目
    3. site生命周期的目的是建立项目站点
      需要注意的是:这些阶段是有顺序的,用户和Maven最直接的交互方式就是调用这些生命周期阶段。并且三套生命周期是相互独立的。

    3.2 命令行与生命周期

    3.2.1 mvn clean

    在这里插入图片描述
    可以看到在实际执行时调用了插件maven-clean-plugin:3.0.0的clean目标。执行了default-clean生命周期

    3.2.2 mvn test

    在这里插入图片描述
    mvn test该命令调用了default生命周期的test阶段,实际调用了validate、initialize直到test的所有阶段。

    3.2.3 mvn clean install

    D:\Git\profile\profile>mvn clean install
    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------------------------< com.example:profile >-------------------------
    [INFO] Building profile 1.3-SNAPSHOT
    [INFO] --------------------------------[ jar ]---------------------------------
    [INFO]
    [INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ profile ---
    [INFO] Deleting D:\Git\profile\profile\target
    [INFO]
    [INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) @ profile ---
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    [INFO] Copying 4 resources
    [INFO] Copying 0 resource
    [INFO]
    [INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ profile ---
    [INFO] Changes detected - recompiling the module!
    [INFO] Compiling 3 source files to D:\Git\profile\profile\target\classes
    [INFO]
    [INFO] --- maven-resources-plugin:3.0.1:testResources (default-testResources) @ profile ---
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    [INFO] skip non existing resourceDirectory D:\Git\profile\profile\src\test\resources
    [INFO]
    [INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) @ profile ---
    [INFO] Nothing to compile - all classes are up to date
    [INFO]
    [INFO] --- maven-surefire-plugin:2.21.0:test (default-test) @ profile ---
    [INFO] No tests to run.
    [INFO]
    [INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ profile ---
    [INFO] Building jar: D:\Git\profile\profile\target\profile-1.3-SNAPSHOT.jar
    [INFO]
    [INFO] --- maven-install-plugin:2.5.2:install (default-install) @ profile ---
    [INFO] Installing D:\Git\profile\profile\target\profile-1.3-SNAPSHOT.jar to C:\Users\lenovo\.m2\repository\com\example\p
    rofile\1.3-SNAPSHOT\profile-1.3-SNAPSHOT.jar
    [INFO] Installing D:\Git\profile\profile\pom.xml to C:\Users\lenovo\.m2\repository\com\example\profile\1.3-SNAPSHOT\prof
    ile-1.3-SNAPSHOT.pom
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 3.588 s
    [INFO] Finished at: 2019-06-22T11:38:05+08:00
    [INFO] ------------------------------------------------------------------------
    
    D:\Git\profile\profile>
    

    该命令执行了clean生命周期的clean阶段和default生命周期的install阶段。

    4 总结

    文档简要陈述了Maven生命周期的基本概念,通过抽象类AbstractBuild理解模板方法在Maven生命周期的使用。最后讲述了三套Maven生命周期的基本含义和阶段,只要对Maven生命周期有一个基本的理解,读者就可以正确而熟练的使用Maven命令。

    												201962211:42:08于马塍路36
    展开全文

空空如也

1 2 3 4 5 ... 20
收藏数 4,846
精华内容 1,938
关键字:

maven生命周期