关于maven:第七篇-Maven-插件之Spring-Cloud直播商城-b2b2c电子商务技术总结

10次阅读

共计 2373 个字符,预计需要花费 6 分钟才能阅读完成。

Maven 插件
Maven 有以下三个规范的生命周期:

clean:我的项目清理的解决
default(或 build):我的项目部署的解决
site:我的项目站点文档创立的解决
每个生命周期中都蕴含着一系列的阶段(phase)。这些 phase 就相当于 Maven 提供的对立的接口,而后这些 phase 的实现由 Maven 的插件来实现。

咱们在输出 mvn 命令的时候 比方 mvn clean,clean 对应的就是 Clean 生命周期中的 clean 阶段。然而 clean 的具体操作是由 maven-clean-plugin 来实现的。

所以说 Maven 生命周期的每一个阶段的具体实现都是由 Maven 插件实现的。

Maven 实际上是一个依赖插件执行的框架,每个工作实际上是由插件实现。Maven 插件通常被用来:

创立 jar 文件
创立 war 文件
编译代码文件
代码单元测试
创立工程文档
创立工程报告
插件通常提供了一个指标的汇合,并且能够应用上面的语法执行:

<code>mvn [plugin-name]:[goal-name]</code>

例如,一个 Java 工程能够应用 maven-compiler-plugin 的 compile-goal 编译,应用以下命令:<code>mvn compiler:compile</code>
插件类型
Maven 提供了上面两种类型的插件: 实例
咱们曾经在咱们的例子中大量应用了 maven-antrun-plugin 来输入数据到管制台上。请查看 Maven – 构建配置文件 章节。让咱们用一种更好的形式了解这部分内容,在 C:\MVN\project 目录下创立一个 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.companyname.projectgroup</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<build>
<plugins>
   <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-antrun-plugin</artifactId>
   <version>1.1</version>
   <executions>
      <execution>
         <id>id.clean</id>
         <phase>clean</phase>
         <goals>
            <goal>run</goal>
         </goals>
         <configuration>
            <tasks>
               <echo>clean phase</echo>
            </tasks>
         </configuration>
      </execution>     
   </executions>
   </plugin>
</plugins>
</build>
</project>

接下来,关上命令终端跳转到 pom.xml 所在的目录,并执行上面的 mvn 命令。
mvn clean
Maven 将开始解决并显示 clean 生命周期的 clean 阶段。

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------
[INFO] Building Unnamed - com.companyname.projectgroup:project:jar:1.0
[INFO]    task-segment: [post-clean]
[INFO] ------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [antrun:run {execution: id.clean}]
[INFO] Executing tasks
     [echo] clean phase
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Sat Jul 07 13:38:59 IST 2012
[INFO] Final Memory: 4M/44M
[INFO] ------------------------------------------------------------------

下面的例子展现了以下要害概念:

插件是在 pom.xml 中应用 plugins 元素定义的。
每个插件能够有多个指标。
你能够定义阶段,插件会应用它的 phase 元素开始解决。咱们曾经应用了 clean 阶段。
你能够通过绑定到插件的指标的形式来配置要执行的工作。咱们曾经绑定了 echo 工作到 maven-antrun-plugin 的 run 指标。
就是这样,Maven 将解决剩下的事件。它将下载本地仓库中获取不到的插件,并开始解决。

正文完
 0