Maven(六)Maven的生命周期和插件

Maven的生命周期:

常用命令.png

对应项目的完整构建过程:


构建过程.png

 

Maven的生命周期 和 插件 是密不可分的

Maven抽象出一套生命周期,插件是抽象的具体实现。

比如:
compile 命令就对应了 Maven Compile Plugin

 

Maven的生命周期又分成三套:

三套生命周期.png

 

每一套 包括好几个阶段:

每一套生命周期中 的 阶段 都是有顺序的,执行某个阶段前,其前面的阶段会先 按顺序执行,但是不会触发另外两套生命周期。

  • QQ截图20180406212537.png

 

插件

单单对于Maven而言,它并没有什么执行任务的功能,它的下载包也非常的小。
Maven中的命令,是调用插件来实现的,在Maven的官网中提供了很多的插件。
https://maven.apache.org/plugins/index.html

  • plugins.png

其中一些:clean、compile、install 我们已经使用过了。

 

使用一下 source 插件:

点进去查看介绍: 这个插件可以将项目源码打包。
运行 package 命令时,就可以将项目源码同时进行打包。

  • source plugin 's goals.png

在项目的 pom.xml 文件中配置插件:

<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">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.imooc</groupId>
  <artifactId>MyMavenApp1</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>MyMavenApp1</name>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  
  <build>
    <plugins>
      <plugin>
        <!-- 配置source插件 -->
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>3.0.1</version>
        <!-- 绑定source到default生命周期的package阶段 -->
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>jar-no-fork</goal>
                </goals>
            </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

 

执行 package 命令后,生成了项目的源码包:

  • package 命令后.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容