-
Maven是什么?
一個項目構(gòu)建工具.為開發(fā)者提供了一套完整的構(gòu)建項目生命周期的框架.
-
約定優(yōu)于配置
在沒有自定義的情況下蹬敲,源代碼,資源文件伴嗡,測試代碼都有固定的位置.
-
創(chuàng)建一個簡單的項目
在命令行輸入
mvn archetype:generate -DgroupId=com.lkc.helloworld -DartifactId=helloworld -Dpackage=com.lkc.helloworld -Dversion=1.0-SNAPSHOT
回車之后就建好了一個maven項目,archetype是maven的一個插件瘪校,generate就是一個目標,maven真正做的事通過執(zhí)行插件的目標來完成,自己只做一些依賴的東西;
接下來的所有-DName=value就是將參數(shù)傳到目標中;
groupId就是所在的組的標識符;
artifactId就是項目標識符;
package是包名;
version就是版本號.
之后查看下目錄結(jié)構(gòu):. └── helloworld ├── pom.xml └── src ├── main │ └── java │ └── com │ └── lkc │ └── helloworld │ └── App.java └── test └── java └── com └── lkc └── helloworld └── AppTest.java
archetype新建了一個與artifactId相同的helloworld目錄,是項目的基礎(chǔ)目錄.
pom.xml描述了項目,配置了插件,聲明了依賴.
src/main是項目的源碼目錄.
src/test是項目的測試目錄. -
構(gòu)建一個項目
上一節(jié)新建了一個項目,那我們肯定不想讓它建好了就放在那不用,肯定希望構(gòu)建并打包這個項目,可以通過
mvn install
來構(gòu)建,但要在pom.xml這個文件所在的位置下執(zhí)行.
執(zhí)行完畢后在命令行輸入java -cp target/simple-1.0-SNAPSHOT.jar com.lkc.helloworld.App
運行你的項目,會打印出
Hello World!
運行成功
-
項目的對象模型
當(dāng)Maven運行時它向項目對象模型查看關(guān)于項目的相關(guān)信息,pom.xml回答了這個項目是什么類型的,這個項目的名稱是什么類似的問題;下面來看一下剛剛的pom文件:
<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.lkc.helloworld</groupId> <artifactId>helloworld</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>helloworld</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
groupId,artifactId,packaging,version是Maven的坐標,唯一地標識了這個項目;
name和url描述了項目的名字和站點;
dependencies定義了一個單獨的測試范圍依賴;
Maven通過pom.xml讓項目跑起來. 常用的Maven命令
| mvn test-compile | 編譯測試代碼 |
| mvn test | 運行測試 |
| mvn package | 打包項目 |
| mvn archetype:generate | 創(chuàng)建Maven項目 |
| mvn clean | 清理項目(刪除target文件夾) |
Maven入門
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绵载,“玉大人,你說我怎么就攤上這事焚虱。” “怎么了鹃栽?”我有些...
- 文/不壞的土叔 我叫張陵躯畴,是天一觀的道長薇芝。 經(jīng)常有香客問我丰嘉,道長,這世上最難降的妖魔是什么黄娘? 我笑而不...
- 正文 為了忘掉前任逼争,我火速辦了婚禮劝赔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘杂伟。我一直安慰自己,他們只是感情好赫粥,可當(dāng)我...
- 文/花漫 我一把揭開白布予借。 她就那樣靜靜地躺著,像睡著了一般秦叛。 火紅的嫁衣襯著肌膚如雪瀑粥。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼丈氓,長吁一口氣:“原來是場噩夢啊……” “哼周循!你這毒婦竟也來了万俗?” 一聲冷哼從身側(cè)響起闰歪,我...
- 正文 年R本政府宣布风宁,位于F島的核電站,受9級特大地震影響热监,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜孝扛,卻給世界環(huán)境...
- 文/蒙蒙 一幽崩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盈简,春花似錦、人聲如沸柠贤。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瓢谢,卻和暖如春驮瞧,著一層夾襖步出監(jiān)牢的瞬間氓扛,已是汗流浹背论笔。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 閱讀《財務(wù)自由》 度娘說:財務(wù)自由是指你無須為生活開銷而努力為錢工作的狀態(tài)笨奠。 簡單地說般婆,你的資產(chǎn)產(chǎn)生的被動收入必須...