參考資料
[1]. Maven的安裝與環境配置,
https://www.cnblogs.com/AlanLee/p/6133189.html
[2]. 輕量級Java EE企業應用實戰(第四版),李剛
[3]. Available Plugins,http://maven.apache.org/plugins/index.html
[4]. Maven 使用入門,http://blog.csdn.net/quuqu/article/details/52458589
[5]. maven “Generating project in Batch mode”問題的解決,
https://www.cnblogs.com/wardensky/p/4513372.html
[6]. Maven中pom.xml常用元素說明,
https://www.cnblogs.com/shindo/p/5022083.html
[7]. 史上最全的Maven Pom文件標籤詳解,
http://blog.csdn.net/chen3749102/article/details/52327800
Windos 7
下載軟件
下載網址:https://maven.apache.org/download.cgi
進入頁面後下載Binary zip archive(二進制zip文件),例如apache-maven-3.5.0-bin.zip。把下載的壓縮包複製到指定的目錄,如C:\Program Files\apache-maven-3.5.0
目錄結構說明
bin:保存Maven的可執行性命令,其中mvn和mvn.bat就是執行Maven工具的命令。
boot:Maven自己的類裝載器plexus-classworlds-2.4.jar。
conf:該目錄下包含了全局行爲定製文件setting.xml,通常建議將該文件複製到~/.m2/目錄下(~表示用戶目錄),這樣可以只設置當前用戶的Maven行爲。
lib: Maven運行時所需的類庫。
檢查JDK
# 使用cmd命令行
echo %JAVA_HOME%
設置環境變量
應該事先配置好JAVA_HOME
環境變量
M2_HOME
和MAVEN_HOME
環境變量應該指向Maven安裝路徑
# 設置Maven的home目錄
M2_HOME = C:\Program Files\apache-maven-3.5.0
# 設置Maven的home目錄
MAVEN_HOME = C:\Program Files\apache-maven-3.5.0
# 設置最小和最大使用內存
MAVEN_OPTS = -Xms512m -Xmx1024m
# 追加到Path變量
PATH = %MAVEN_HOME%\bin;%M2_HOME\bin%;
驗證
# 如果能看到Maven和JDK版本號,則說明已正確安裝。
mvn -v
# help是Maven的一個插件,system是help插件的goal
mvn help:system
mvn的命令格式
plugin-prefix
爲插件前綴,goal
爲該插件所包含的指定目標,-D
用於爲該目標指定屬性,每次運行mvn
命令可通過多個-D
選項來指定屬性名和屬性值。
mvn <plugin-prefix>:<goal> -D<屬性名>=<屬性值> ...
還可以使用下面的命令
mvn <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>
創建、構建簡單的項目
進入某個文件夾後,使用-DarchetypeCatalog=local
選項需要先下載目錄到本地,參考maven “Generating project in Batch mode”問題的解決。然後使用archetype插件的generate生成項目
mvn archetype:generate -DinteractiveMode=false -DgroupId=org.fkjava -DartifactId=mavenQs -Dpackage=org.fkjava.mavenqs -DarchetypeCatalog=local
進入mavenQs目錄,即pom.xml文件所在的目錄使用compile插件編譯項目
mvn compile
執行主方法後可以看到輸出Hello World!
mvn exec:java -Dexec.mainClass="org.fkjava.mavenqs.App"
查看它的父pom.xml配置
mvn help:effective-pom
Maven的約定配置
可以對比上面生成的項目來參考下面的路徑
- 源代碼位於${basedir}/src/main/java
- 資源文件位於${basedir}/src/main/resources
- 測試文件位於${basedir}/src/test
- 編譯生成的class文件位於${basedir}/target/classes
- 項目如果產生了一個JAR文件,會將生成的JAR包放在${basedir}/target
依賴管理
創建一個簡單的Struts項目
mvn archetype:generate -DinteractiveMode=false -DgroupId=org.crazyit -DartifactId=struts2qs -Dpackage=org.crazyit.struts2qs -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeCatalog=local
在pom.xml文件裏面增加依賴
<!-- 配置該項目依賴Struts 2 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<!-- 此處指定依賴的Struts 2版本 -->
<version>2.3.16.3</version>
</dependency>
進入項目所在路徑struts2qs,執行打包,因爲 <packaging>war</packaging>
爲war所以會在target目錄下生成war包。在war包裏面包含了Struts2框架的各種JAR包
mvn package