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