初识Maven POM
POM
Project Object Model項(xiàng)目對(duì)象模型定義了項(xiàng)目的基本信息,用于描述項(xiàng)目如何構(gòu)建,申明項(xiàng)目依賴,等等。
pom元素:
<modelVersion>4.0.0</modelVersion><groupId>com.fwj.TestMvn</groupId><artifactId>TestMvn</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>TestMvn</name><url>http://maven.apache.org</url><project></project> 根元素。
<modelVersion>4.0.0</modelVersion>指定當(dāng)前pom模型的版本,對(duì)于Maven2和Maven3來(lái)說(shuō),它只能是4.0.0
<groupId>com.fwj.TestMvn</groupId>groupId定義了項(xiàng)目屬于哪個(gè)組,比如公司名字是fwj,項(xiàng)目名是TestMvn,那么groupId應(yīng)該為com.fwj.TestMvn
<artifactId>TestMvn</artifactId>artifactId定義了當(dāng)前Maven項(xiàng)目在組中唯一的Id。
<version>0.0.1-SNAPSHOT</version>指定當(dāng)前項(xiàng)目的版本,snapshot意為快照,說(shuō)名該項(xiàng)目還處于開(kāi)發(fā)階段。
<packaging>jar</packaging> 打包形式
<name>TestMvn</name>對(duì)于用戶給為用好的項(xiàng)目名稱,描述項(xiàng)目。
<url>http://maven.apache.org</url>
?
Java項(xiàng)目的類的包名應(yīng)該基于groupId和artifactId,這樣更加清晰,更加符合邏輯,包名應(yīng)該為com.fwj.TestMvn.TestMvn
?
使用Maven進(jìn)行編譯
在項(xiàng)目的根目錄下使用mvn clean compile
clean告訴Maven清理輸出目錄target/
compile告訴Maven編譯項(xiàng)目主代碼
使用Maven進(jìn)行測(cè)試
mvn clean test
打包
mvn clean package 沒(méi)有配置打包類型,默認(rèn)打包jar
mvn clean install 安裝包本地Maven倉(cāng)庫(kù)
?
執(zhí)行test之前會(huì)執(zhí)行compile,執(zhí)行package之前會(huì)執(zhí)行test,執(zhí)行install之前會(huì)執(zhí)行package。
?
構(gòu)建項(xiàng)目骨架
mvn archetype:generate
管理依賴
<dependencies><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies>?dependencies下包含多個(gè)dependency聲明項(xiàng)目的依賴。
<scope>test</scope>? scope表明依賴范圍,若為test則表明依賴只對(duì)測(cè)試有用。如果在主代碼中inport Junit代碼,就會(huì)造成編譯錯(cuò)誤。如果不聲明依賴翻譯,則默認(rèn)值就是compile,表明該代碼對(duì)主代碼和測(cè)試代碼都有效。
?
轉(zhuǎn)載于:https://www.cnblogs.com/mingluosunshan/p/4102692.html
總結(jié)
以上是生活随笔為你收集整理的初识Maven POM的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Daily Scrum9 11.13
- 下一篇: 转:CMake 使用方法