Maven 默認插件以及功能

Maven 默認插件

已知 Maven 使用 plugin 來執(zhí)行實際操作的奖唯,在默認情況下惨缆,Maven 會綁定以下幾個插件來完成基本操作。

plugin function life cycle phase
maven-clean-plugin 清理上一次執(zhí)行創(chuàng)建的目標文件 clean
maven-resources-plugin 處理源資源文件和測試資源文件 resources,testResources
maven-compiler-plugin 編譯源文件和測試源文件 compile,testCompile
maven-surefire-plugin 執(zhí)行測試文件 test
maven-jar-plugin 創(chuàng)建 jar jar
maven-install-plugin 安裝 jar,將創(chuàng)建生成的 jar 拷貝到 .m2/repository 下面 install
maven-deploy-plugin 發(fā)布 jar deploy

如果針對各個 plugin 有特殊配置的話坯墨,需要顯示指定 plugin 和 屬性配置寂汇。

樣例

舉個??:創(chuàng)建一個空的 maven 項目 HelloWorld,pom.xml 文件不包含任何 plugin捣染。

<?xml version="1.0" encoding="UTF-8"?>
<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.meituan.log</groupId>
    <artifactId>HelloWorld</artifactId>
    <version>1.0-SNAPSHOT</version>

    <packaging>jar</packaging>

    <dependencies>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.3.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.3.1</version>
        </dependency>
    </dependencies>
</project>

下面是執(zhí)行 mvn clean install 產(chǎn)生的執(zhí)行日志健无,通過日志可以看到每個步驟都顯示 plugin 名稱,版本號液斜,生命周期階段,執(zhí)行操作等叠穆。
maven-clean-plugin:2.5:clean (default-clean)
maven-resources-plugin:2.6:resources (default-resources)
maven-compiler-plugin:3.1:compile (default-compile)
maven-resources-plugin:2.6:testResources (default-testResources)
maven-compiler-plugin:3.1:testCompile (default-testCompile)
maven-surefire-plugin:2.12.4:test (default-test)
maven-jar-plugin:2.4:jar (default-jar)
maven-install-plugin:2.4:install (default-install)

zhangguanghuideMacBook-Pro-3:HelloWorld zhangguanghui$ mvn clean install
[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.meituan.log:HelloWorld:jar:1.0-SNAPSHOT
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.apache.hadoop:zookeeper:jar -> duplicate declaration of version 3.3.1 @ line 20, column 21
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building HelloWorld 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ HelloWorld ---
[INFO] Deleting /Users/zhangguanghui/git/IDEA_workspace/HelloWorld/target
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ HelloWorld ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ HelloWorld ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /Users/zhangguanghui/git/IDEA_workspace/HelloWorld/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ HelloWorld ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/zhangguanghui/git/IDEA_workspace/HelloWorld/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ HelloWorld ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ HelloWorld ---
[INFO] No tests to run.
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ HelloWorld ---
[INFO] Building jar: /Users/zhangguanghui/git/IDEA_workspace/HelloWorld/target/HelloWorld-1.0-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ HelloWorld ---
[INFO] Installing /Users/zhangguanghui/git/IDEA_workspace/HelloWorld/target/HelloWorld-1.0-SNAPSHOT.jar to /Users/zhangguanghui/.m2/repository/com/meituan/log/HelloWorld/1.0-SNAPSHOT/HelloWorld-1.0-SNAPSHOT.jar
[INFO] Installing /Users/zhangguanghui/git/IDEA_workspace/HelloWorld/pom.xml to /Users/zhangguanghui/.m2/repository/com/meituan/log/HelloWorld/1.0-SNAPSHOT/HelloWorld-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.232 s
[INFO] Finished at: 2017-02-13T17:43:06+08:00
[INFO] Final Memory: 17M/331M
[INFO] ------------------------------------------------------------------------

參考

maven 入門指南
maven 生命周期
Maven 默認插件以及功能
maven 依賴管理
maven-shade-plugin 入門指南
maven-assembly-plugin 入門指南

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末少漆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子硼被,更是在濱河造成了極大的恐慌示损,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚷硫,死亡現(xiàn)場離奇詭異检访,居然都是意外死亡,警方通過查閱死者的電腦和手機仔掸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門脆贵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人起暮,你說我怎么就攤上這事卖氨。” “怎么了负懦?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵筒捺,是天一觀的道長。 經(jīng)常有香客問我纸厉,道長系吭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任颗品,我火速辦了婚禮肯尺,結果婚禮上,老公的妹妹穿的比我還像新娘抛猫。我一直安慰自己蟆盹,他們只是感情好,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布闺金。 她就那樣靜靜地躺著逾滥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寨昙,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天讥巡,我揣著相機與錄音,去河邊找鬼舔哪。 笑死欢顷,一個胖子當著我的面吹牛,可吹牛的內容都是我干的捉蚤。 我是一名探鬼主播抬驴,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼缆巧!你這毒婦竟也來了布持?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤陕悬,失蹤者是張志新(化名)和其女友劉穎题暖,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捉超,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡胧卤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拼岳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枝誊。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖裂问,靈堂內的尸體忽然破棺而出侧啼,到底是詐尸還是另有隱情,我是刑警寧澤堪簿,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布痊乾,位于F島的核電站,受9級特大地震影響椭更,放射性物質發(fā)生泄漏哪审。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一虑瀑、第九天 我趴在偏房一處隱蔽的房頂上張望湿滓。 院中可真熱鬧,春花似錦舌狗、人聲如沸叽奥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朝氓。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赵哲,已是汗流浹背待德。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留枫夺,地道東北人将宪。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像橡庞,于是被迫代替她去往敵國和親较坛。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理扒最,服務發(fā)現(xiàn)燎潮,斷路器,智...
    卡卡羅2017閱讀 134,652評論 18 139
  • 所有項目的構建都是有生命周期的扼倘,這個生命周期包括:項目清理、初始化除呵、編譯再菊、測試、打包颜曾、集成測試纠拔、驗證、部署泛豪、站點生...
    zlcook閱讀 2,769評論 0 21
  • 1. Maven 構建生命周期 Maven 構建生命周期就是 Maven 將一個整體任務劃分為一個個的階段稠诲,類似于...
    data4閱讀 30,998評論 3 35
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,806評論 6 342
  • 1.編寫POM Maven項目的核心文件是pom.xml,POM(Project Objcet Model)項目對...
    zlcook閱讀 5,907評論 7 26