zoukankan      html  css  js  c++  java
  • 在maven 中调用shell 命令

     1 <build>
     2         <plugins>
     3             <plugin>
     4                 <artifactId>exec-maven-plugin</artifactId>
     5                 <groupId>org.codehaus.mojo</groupId>
     6                 <executions>
     7                     <execution>
     8                         <id>uncompress</id>
     9                         <phase>install</phase>
    10                         <goals>
    11                             <goal>exec</goal>
    12                         </goals>
    13                         <configuration>
    14                             <executable>${basedir}/uncompress.sh</executable>
    15                         </configuration>
    16                     </execution>
    17                 </executions>
    18             </plugin>
    19         </plugins>
    20     </build>

    1. 这里需要理解maven中几个概念

    a.maven的生命周期

      maven的生命周期主要有3套,分别是clean、default、site,clean主要用来清理项目,default用来构建项目,site用来建立项目站点。每个生命周期又包含一些阶段,这里就不列出了。

     当我们在命令行中执行mvn clean install时,该命令调用了clean生命周期的clean阶段和default生命周期的install阶段

    b.插件绑定

    maven的核心仅仅定义了抽象的生命周期,具体的任务交给插件来完成,而maven的生命周期与插件互相绑定,具体而言,应该是生命周期的阶段与插件的目标互相绑定,以完成某个具体的构建任务

    现在来看我们上面的例子,我们在第10行开始定义了这个插件的目标,并且在第9行指定了default生命周期的install阶段,这里的意思就是说在default生命周期的install阶段,我们将执行插件的exec目标,也就是执行我们在14行指定的脚本。

    生命周期的某一个阶段可以绑定很多插件的目标,这些目标的执行顺序按照定义的顺序来执行

    一些属性

    ${basedir}表示项目根目录,即包含pom.xml文件的目录

  • 相关阅读:
    莫比乌斯反演套路一--令t=pd--BZOJ2820: YY的GCD
    BZOJ2720: [Violet 5]列队春游
    BZOJ2277: [Poi2011]Strongbox
    莫(meng)比(bi)乌斯反演--BZOJ2301: [HAOI2011]Problem b
    「CodePlus 2017 11 月赛」Yazid 的新生舞会
    「CodePlus 2017 11 月赛」大吉大利,晚上吃鸡!
    用NumGo实现安卓动画
    人生
    用NumGo实现安卓动画
    html5使用canvas绘制n角星
  • 原文地址:https://www.cnblogs.com/feiling/p/2851267.html
Copyright © 2011-2022 走看看