4. maven命令

轉(zhuǎn)載

命令簡(jiǎn)介

maven的命令格式如下:
mvn [plugin-name]:[goal-name]
該命令的意思是:執(zhí)行plugin-name插件的goal-name目標(biāo)(或者稱為動(dòng)作)挨稿。
用戶可以通過(guò)兩種方式調(diào)用Maven插件目標(biāo)狮含。

  • 第一種方式是將插件目標(biāo)與生命周期階段(lifecycle phase)綁定,這樣用戶在命令行只是輸入生命周期階段而已稍浆。例如Maven默認(rèn)將maven-compiler-plugincompile目標(biāo)與compile生命周期階段綁定互艾,因此命令mvn compile實(shí)際上是先定位到compile這一生命周期階段试和,然后再根據(jù)綁定關(guān)系調(diào)用maven-compiler-plugincompile目標(biāo)。
  • 第二種方式是直接在命令行指定要執(zhí)行的插件目標(biāo)纫普,例如mvnarchetype:generate 就表示調(diào)用maven-archetype-plugingenerate目標(biāo)阅悍,這種帶冒號(hào)的調(diào)用方式與生命周期無(wú)關(guān)。

常用命令

  • mvn –version 顯示版本信息
  • mvn clean 清理項(xiàng)目生產(chǎn)的臨時(shí)文件,一般是模塊下的target目錄
  • mvn compile 編譯源代碼昨稼,一般編譯模塊下的src/main/Java目錄
  • mvn package 項(xiàng)目打包工具,會(huì)在模塊下的target目錄生成jar或war等文件
  • mvn test 測(cè)試命令,或執(zhí)行src/test/java/下junit的測(cè)試用例.
  • mvn install 將打包的jar/war文件復(fù)制到你的本地倉(cāng)庫(kù)中,供其他模塊使用
  • mvn deploy 將打包的文件發(fā)布到遠(yuǎn)程參考,提供其他人員進(jìn)行下載依賴
  • mvn site 生成項(xiàng)目相關(guān)信息的網(wǎng)站
  • mvn eclipse:eclipse 將項(xiàng)目轉(zhuǎn)化為Eclipse項(xiàng)目
  • mvn dependency:tree 打印出項(xiàng)目的整個(gè)依賴樹
  • mvn archetype:generate 創(chuàng)建Maven的普通java項(xiàng)目
  • mvn tomcat:run 在tomcat容器中運(yùn)行web應(yīng)用
  • mvn jetty:run 調(diào)用 Jetty 插件的 Run 目標(biāo)在 Jetty Servlet 容器中啟動(dòng) web 應(yīng)用

運(yùn)行maven命令的時(shí)候溉箕,首先需要定位到maven項(xiàng)目的目錄,也就是項(xiàng)目的pom.xml文件所在的目錄悦昵。否則肴茄,必以通過(guò)參數(shù)來(lái)指定項(xiàng)目的目錄。

命令參數(shù)

-D 傳入屬性參數(shù)

比如命令:
mvn package -Dmaven.test.skip=true
-D開頭但指,將maven.test.skip的值設(shè)為true,就是告訴maven打包的時(shí)候跳過(guò)單元測(cè)試寡痰。同理抗楔,mvn deploy -Dmaven.test.skip=true代表部署項(xiàng)目并跳過(guò)單元測(cè)試。

-P 使用指定的Profile配置

比如項(xiàng)目開發(fā)需要有多個(gè)環(huán)境拦坠,一般為開發(fā)连躏,測(cè)試,預(yù)發(fā)贞滨,正式4個(gè)環(huán)境入热,在pom.xml中的配置如下:

<profiles>
      <profile>
             <id>dev</id>
             <properties>
                    <env>dev</env>
             </properties>
             <activation>
                    <activeByDefault>true</activeByDefault>
             </activation>
      </profile>
      <profile>
             <id>qa</id>
             <properties>
                    <env>qa</env>
             </properties>
      </profile>
      <profile>
             <id>pre</id>
             <properties>
                    <env>pre</env>
             </properties>
      </profile>
      <profile>
             <id>prod</id>
             <properties>
                    <env>prod</env>
             </properties>
      </profile>
</profiles>
 
......
 
<build>
      <filters>
             <filter>config/${env}.properties</filter>
      </filters>
      <resources>
             <resource>
                    <directory>src/main/resources</directory>
                    <filtering>true</filtering>
             </resource>
      </resources>
 
      ......
 
</build>

profiles定義了各個(gè)環(huán)境的變量id,filters中定義了變量配置文件的地址晓铆,其中地址中的環(huán)境變量就是上面profile中定義的值勺良,resources中是定義哪些目錄下的文件會(huì)被配置文件中定義的變量替換。
通過(guò)maven可以實(shí)現(xiàn)按不同環(huán)境進(jìn)行打包部署骄噪,命令為:
mvn package -P dev
其中dev為環(huán)境的變量id,代表使用id為dev的profile尚困。

-e 顯示maven運(yùn)行出錯(cuò)的信息

-o 離線執(zhí)行命令,即不去遠(yuǎn)程倉(cāng)庫(kù)更新包

-X 顯示maven允許的debug信息

-U 強(qiáng)制去遠(yuǎn)程更新snapshot的插件或依賴,默認(rèn)每天只更新一次

實(shí)例

archetype:create是maven 3.0.5之前創(chuàng)建項(xiàng)目的命令链蕊,例如創(chuàng)建一個(gè)普通的Java項(xiàng)目:
mvn archetype:create -DgroupId=packageName -DartifactId=projectName -Dversion=1.0.0-SNAPSHOT
后面的三個(gè)參數(shù)用于指定項(xiàng)目的groupId事甜、artifactId以及version。
創(chuàng)建Maven的Web項(xiàng)目:
mvn archetype:create -DgroupId=packageName -DartifactId=projectName -DarchetypeArtifactId=maven-archetype-webapp
archetypeArtifactId參數(shù)用于指定使用哪個(gè)maven原型滔韵,這里使用的是maven-archetype-webapp逻谦,maven會(huì)按照web應(yīng)用的目錄結(jié)構(gòu)生成項(xiàng)目。
需要注意的是陪蜻,在maven 3.0.5之后跨跨,archetype:create命令不在使用,取而代之的是archetype:generate命令囱皿。
該命令會(huì)以交互的模式創(chuàng)建maven項(xiàng)目勇婴,不需要像archetype:create那樣在后面跟一堆參數(shù),很容易出錯(cuò)嘱腥。

mvn archetype:generate -DarchetypeCatalog=internal

help:describe
maven有各種插件耕渴,插件又有各種目標(biāo)。我們不可能記得每個(gè)插件命令齿兔。maven提供了查詢各類插件參數(shù)的命令:mvn help:describe橱脸。
例如:mvn help:describe -Dplugin=help
代表查詢help 插件的命令規(guī)范,然后maven就會(huì)告訴你該命令有幾個(gè)goal分苇,各種參數(shù)的的意義以及配置方法添诉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市医寿,隨后出現(xiàn)的幾起案子栏赴,更是在濱河造成了極大的恐慌,老刑警劉巖靖秩,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件须眷,死亡現(xiàn)場(chǎng)離奇詭異竖瘾,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)花颗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門捕传,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人扩劝,你說(shuō)我怎么就攤上這事庸论。” “怎么了棒呛?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵聂示,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我条霜,道長(zhǎng)催什,這世上最難降的妖魔是什么涵亏? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任宰睡,我火速辦了婚禮,結(jié)果婚禮上气筋,老公的妹妹穿的比我還像新娘拆内。我一直安慰自己,他們只是感情好宠默,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布麸恍。 她就那樣靜靜地躺著,像睡著了一般搀矫。 火紅的嫁衣襯著肌膚如雪抹沪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天瓤球,我揣著相機(jī)與錄音融欧,去河邊找鬼。 笑死卦羡,一個(gè)胖子當(dāng)著我的面吹牛噪馏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播绿饵,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼欠肾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了拟赊?” 一聲冷哼從身側(cè)響起刺桃,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吸祟,沒(méi)想到半個(gè)月后虏肾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體廓啊,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年封豪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谴轮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吹埠,死狀恐怖第步,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情缘琅,我是刑警寧澤粘都,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站刷袍,受9級(jí)特大地震影響翩隧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜呻纹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一堆生、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雷酪,春花似錦淑仆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至吩跋,卻和暖如春寞射,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锌钮。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工桥温, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人轧粟。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓策治,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親兰吟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子通惫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容