-
文件索引
-
Maven in 5 Minutes
篇幅很短,快速上手,不求甚解。
執行如下命令,建立專案的基礎配置。mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.5 -DinteractiveMode=false
對上述命令做一個簡單的說明:
groupId
為com.mycompany.app
artifactId
為my-app
上述命令執行完畢之後,在當前目錄下建立目錄
my-app
,執行命令tree -a my-app
檢視目錄結構,如下:my-app/ ├── .mvn │ ├── jvm.config │ └── maven.config ├── pom.xml └── src ├── main │ └── java │ └── com │ └── mycompany │ └── app │ └── App.java └── test └── java └── com └── mycompany └── app └── AppTest.java 12 directories, 5 files
-
Maven Getting Started Guide
完整的入門指導。
常用的命令:mvn clean
,清理構建結果。mvn compile
,編譯程式碼。mvn test-compile
,編譯單元測試程式碼。mvn test
,編譯程式碼和測試程式碼,執行單元測試程式碼。mvn package
,將專案打包。mvn install
,將專案的構建結果,安裝到本地倉庫內。
父專案的
pom.xml
,樣例如下:<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>app</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>my-app</module> <module>my-webapp</module> </modules> </project>
專案的
pom.xml
,樣例如下:<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-webapp</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies> </project>
-
Guide to naming conventions on groupId, artifactId, and version
元件的groupId
、artifactId
、version
的命名規則。 -
Introduction to the Build Lifecycle
使用Maven構建專案時,依次執行如下階段:
validate
compile
test
package
verify
install
deploy
-
Introduction to the POM
介紹pom.xml
的組成,以及不同專案組合的定義方法。 -
Introduction to Build Profiles
透過在settings.xml
或者pom.xml
中使用profile,可以為不同的構建場景定製構建過程和引數。
執行如下命令,可以檢視當前啟用的profile。mvn help:active-profiles
-
Introduction to the Standard Directory Layout
使用Maven來管理專案和構建時,基於約定大於配置的理念,預先定義了專案中各類檔案的佈局和目錄命名。對於Java專案而言,預設的佈局規則如下:src/main/java
,儲存專案中的Java原始碼。src/main/resources
,儲存專案中的配置檔案。src/main/filters
,儲存資源過濾器的配置檔案。src/main/webapp
,儲存Web專案的資原始檔,比如html/css/js/圖片比如jpeg或者png等。src/test/java
,儲存專案中的單元測試程式碼。src/test/resources
,儲存專案中單元測試程式碼依賴的配置檔案。src/test/filters
,儲存資源過濾器的配置檔案。src/assembly
,儲存專案構建時佈局的配置檔案。target
,儲存構建的輸出結果。
其它目錄不常用,因此此處不贅述。
-
Introduction to the Dependency Mechanism
依賴管理中,相同軟體的版本衝突,預設的處理規則。
座標中scope
欄位的可能取值:-
compile
,編譯、執行時需要。 -
provided
,編譯時需要,執行時不需要。 -
runtime
,編譯時不需要,僅在執行時需要。 -
test
,測試程式碼編譯、測試程式碼執行時需要。 -
system
,指定依賴本地的jar。
樣例如下:<dependency> <groupId>javax.sql</groupId> <artifactId>jdbc-stdext</artifactId> <version>2.0</version> <scope>system</scope> <systemPath>${java.home}/lib/rt.jar</systemPath> </dependency>
-
import
,匯入依賴,通常在dependencyManagement
中使用,比如基於SpringBoot框架開發的應用。
排除依賴的軟體。
<dependency> <groupId>group-a</groupId> <artifactId>artifact-a</artifactId> <version>1.0</version> <exclusions> <exclusion> <groupId>group-c</groupId> <artifactId>excluded-artifact</artifactId> </exclusion> </exclusions> </dependency>
-
-
Optional & Exclusion
配置依賴時,可以增加屬性optional
,取值為true
/false
,樣例如下:<dependency> <groupId>sample.ProjectA</groupId> <artifactId>Project-A</artifactId> <version>1.0</version> <scope>compile</scope> <optional>true</optional> <!-- value will be true or false only --> </dependency>
在專案中沒有實際使用過。
-
Settings Reference
settings.xml
的組成,各個標籤的含義。
樣例模板,和關鍵標籤,如下:<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"> <localRepository/> <interactiveMode/> <offline/> <pluginGroups/> <servers/> <mirrors/> <proxies/> <profiles/> <activeProfiles/> </settings>
載入順序:
${user.home}/.m2/settings.xml
使用者目錄下的settings.xml
。${maven.home}/conf/settings.xml
Maven軟體安裝目錄下的settings.xml
。
-
POM Reference
pom.xml
的組成,各個標籤的含義。 -
FAQ
Maven使用指南的筆記
相關文章
- Maven快速上手使用指南的筆記Maven筆記
- Maven 筆記Maven筆記
- maven使用筆記Maven筆記
- Maven筆記(更新中)Maven筆記
- maven 學習筆記Maven筆記
- Maven經典使用指南Maven
- Git和Maven的學習筆記GitMaven筆記
- Maven筆記---超詳細Maven筆記
- Javaxuex學習筆記---MavenJava筆記Maven
- Maven 學習筆記一Maven筆記
- Maven 學習筆記——Maven和Eclipse(2)Maven筆記Eclipse
- Maven 學習筆記——Maven環境配置(1)Maven筆記
- 關於maven的一份小筆記Maven筆記
- 《Maven實戰》之讀書筆記Maven筆記
- Maven實戰與原理分析(一):maven超全使用指南總結Maven
- idea ssm maven專案搭建筆記IdeaSSMMaven筆記
- Maven 學習筆記——將普通的Java專案轉換成Maven專案(3)Maven筆記Java
- jar包上傳Maven中央倉庫吐血筆記JARMaven筆記
- Eclipse從零配置Maven環境 筆記EclipseMaven筆記
- Maven筆記之核心概念及常用命令Maven筆記
- (二十八)monggodb和maven零散筆記GoMaven筆記
- Maven學習筆跡Maven
- 【spark筆記】在idea用maven匯入spark原始碼Spark筆記IdeaMaven原始碼
- 學習筆記——Maven 如何處理傳遞性依賴筆記Maven
- Maven知識記錄(一)初識Maven私服Maven
- 寫給自己看的體重記錄板使用指南
- 記maven專案的兩個奇怪情況Maven
- Graphviz的使用指南
- JavaPoet的使用指南Java
- numpy的學習筆記\pandas學習筆記筆記
- Maven-搭建Maven私服的方法Maven
- Maven精品教程零散筆記(2017年8月25日18:54:33)Maven筆記
- maven初始化專案記錄Maven
- 印象筆記 --- 方法分享筆記筆記
- maven assembly plugin,maven dependency plugin的使用MavenPlugin
- maven專案遇到的一些問題記錄Maven
- git的使用筆記Git筆記
- Docker的使用筆記Docker筆記