pom.xml文件
- 代碼的第一行是xml開頭,制定了該xml文檔的版本和編譯方式。
- 緊接著是project元素,project是所有pom.xml的根元素,它還聲明了一些POM相關的命名空間及xsd元素,這些元素能讓第三方工具幫助我們快速編輯POM
- 項目的基本信息
3.1 modelVersion制定了當前POM模型的版本
3.2 groupId定義了項目屬于哪一個組
3.3 artifactId定義了當前Maven項目在組中的唯一ID
3.4 version指定了項目的當前版本,SNAPSHOT意為快照,說明該項目還處于開發中,是不穩定的版本 - 代碼示例:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.timevalue</groupId>
<artifactId>api</artifactId>
<version>0.0.1</version>
</project>
運行過程解析
- 編寫代碼注意點
1.1 項目主代碼和測試代碼不同,項目的主代碼會被打包到最終的構建中(如jar),而測試代碼只在運行測試時用到,不會被打包。
1.2 一般來說,項目中Java類的包都應該基于項目的groupId和artifactId,這樣更加清晰,更加符合邏輯,也方便搜索構建或者Java類。
1.3 clean告訴Maven清理輸出目錄target/,compile告訴Maven編譯項目主代碼。
1.4 前面提到groupId,artifactId和version是任何一個項目的最基本的坐標,通過在dependencies元素中添加dependency聲明項目所需要的依賴,依賴中的scope為依賴范圍,若依賴范圍為test則表示該依賴只對測試有效,后面文章會詳細介紹添加依賴的注意點。
1.5 暫時需要了解的是,在Maven執行測試(test)之前,它會先自動執行項目主資源處理,主代碼編譯,測試資源處理,測試代碼編譯等工作,這是Maven聲明周期的一個特性。
1.6 Maven的核心插件compile如果只支持編譯Java1.3,需要配置Java的支持。 - 編寫代碼示例
dependencies
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
JUnit框架的Asset類檢查結果
HelloWorld helloWorld = new HelloWorld();
String result = helloWorld.sayHello();
assetEquals("Hello Maven", result)
配置Java支持版本
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins<groupId>
<artifactId>maven-compile-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
打包和運行
- 打包
1.1 命令:mvn clean package
1.2 生成的文件位于target/輸出目錄中,它是根據artifactId-version.jar規則進行命名的,如有需要,還可以使用finalName來定義該文件的名稱。 - 安裝到Maven本地倉庫命令:mvn clean install
- 其它命令
3.1 編譯:mvn clean compile
3.2 測試:mvn clean test - 如果要生成可執行的jar文件,需要借助maven-shade-plugin,配置該插件的方法自行百度。
文章僅供參考,代碼并不是全正確,只需要知道在對應的情況,可以做對應的處理,代碼是變化的,我相信原理不變