qqjianyue代碼工

          砌java代碼
          posts - 62, comments - 9, trackbacks - 0, articles - 10
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          maven 概念與實(shí)踐 phase, goal, plugin

          Posted on 2011-09-22 10:01 Qzi 閱讀(9288) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): appfuse2 and maven2
          參考這篇文章:http://blog.csdn.net/bluishglc/article/details/6632280 
          一。Maven的執(zhí)行方式
          maven對(duì)構(gòu)建(build)的過(guò)程進(jìn)行了抽象和定義,這個(gè)過(guò)程被稱(chēng)為構(gòu)建的生命周期(lifecycle)。生命周期(lifecycle)由多個(gè)階段(phase)組成,每個(gè)階段(phase)會(huì)掛接一到多個(gè)goal。goal是maven里定義任務(wù)的最小單元,goal分為兩類(lèi),一類(lèi)是綁定phase的,就是執(zhí)行到某個(gè)phase,那么這個(gè)goal就會(huì)觸發(fā),另外一類(lèi)不綁定,就是單獨(dú)任務(wù),這就相當(dāng)于ant里的target。
          1。以phase來(lái)構(gòu)建
          例如:
          mvn clean
          mvn compile
          mvn test
          mvn package
          表明maven會(huì)執(zhí)行到某個(gè)生命周期(lifecycle)的某個(gè)階段(phase)
          這個(gè)phase以及它前面所有phase綁定的目標(biāo)(goal)都會(huì)執(zhí)行, 每個(gè)phase都會(huì)邦定maven默認(rèn)的goal或者沒(méi)有g(shù)oal, 或者自定義的goal。
          也可以通過(guò)傳入?yún)?shù)跳過(guò)(skip)某些phase,例如:
          mvn install -Dmaven.test.skip=true

          1。以goal來(lái)構(gòu)建
          這類(lèi)就是沒(méi)有綁定phase的goal,但是這類(lèi)goal卻通常會(huì)有個(gè)執(zhí)行前提,就是project必須執(zhí)行到某個(gè)phase,
          那么執(zhí)行這個(gè)goal,其實(shí)也會(huì)觸發(fā)maven執(zhí)行到前提要求的phase。
          例如jetty:run是個(gè)非綁定phase的goal,它的前提是test-compile,這個(gè)前提是由plugin的代碼邏輯制定的

          /**
           * @goal run
           * @requiresDependencyResolution runtime
           * @execute phase="test-compile"
           * @description Runs jetty6 directly from a maven project
           */
          public class Jetty6RunMojo extends AbstractJettyRunMojo
          {
              ...
          }
          二。Maven lifecycle, phase概覽
          Maven預(yù)設(shè)了三個(gè)Lifecycle ,各包含了下列Phases.
          1. Clean Lifecycle
            • pre-clean
            • clean
            • post-clean
          2. Default Lifecycle
            • validate
            • initialize
            • generate-sources
            • process-sources
            • generate-resources
            • process-resources
            • compile
            • process-classes
            • generate-test-sources
            • process-test-sources
            • process-test-resources
            • test-compile
            • process-test-classes
            • test
            • prepare-package
            • package
            • pre-integration-test
            • integration-test
            • post-integration-test
            • verify
            • install
            • deploy
          3. Site Lifecycle
            • pre-site
            • site
            • post-site
            • site-deploy

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 大余县| 舒兰市| 时尚| 易门县| 大庆市| 桂东县| 安国市| 奉节县| 秦皇岛市| 汉中市| 辉南县| 怀化市| 三门县| 玉田县| 宝丰县| 永康市| 达孜县| 德保县| 保康县| 寻乌县| 枞阳县| 梅河口市| 白城市| 吉木乃县| 桃园市| 沙田区| 新津县| 凤城市| 九龙县| 金湖县| 靖江市| 庆城县| 利辛县| 通渭县| 维西| 鹤壁市| 郓城县| 安宁市| 湟源县| 广西| 来宾市|