友情提醒
先看文章目錄,大致了解知識點結構,直接點擊文章目錄可以跳轉到文章指定位置。
第一章、Maven概述
1.1)Maven是什么
① Maven 是工具,專注服務于 Java 平臺的項目自動化構建和依賴管理。
②可以整合多個項目之間的引用關系,我們可以根據(jù)業(yè)務和分層需要任意拆分一個項目。
③提供規(guī)范的管理各個常用jar包及其各個版本,并且可以自動下載和引入項目中。
④可以根據(jù)指定版本自動解決jar包版本兼容問題。
⑤可以把jar包所依賴的其它jar包自動下載并引入項目。
1.2)Maven進行構建(build)的主要環(huán)節(jié)
①清理:刪除以前的編譯結果,為重新編譯做好準備。
②編譯:將Java源程序編譯為字節(jié)碼文件。
③測試:針對項目中的關鍵點進行測試,確保項目在迭代開發(fā)過程中關鍵點的正確性。
④報告:在每一次測試后以標準的格式記錄和展示測試結果。
⑤打包:將一個包含諸多文件的工程封裝為一個壓縮文件用于安裝或部署。Java 工程對應 jar 包,Web工程對應war包。
⑥安裝:在Maven環(huán)境下特指將打包的結果——jar包或war包安裝到本地倉庫中。
⑦部署:將打包的結果部署到遠程倉庫或將war包部署到服務器上運行
第二章、Maven的下載安裝和配置
2.1)Maven的下載
①maven本身就是java寫的所以要確保下載安裝了java的JDK環(huán)境。(都用mave了,不至于不會裝JDK啊這里就不贅述了)
②官網下載Maven:官網鏈接:http://maven.apache.org/download.cgi
③選擇需要的版本,這里選擇3.5.3版本
④選擇binaries
⑤下載,然后解壓到安裝目錄就安裝成功了,注意:解壓好了就是安裝好了
2.2)Maven環(huán)境變量配置
①環(huán)境變量配置
右擊桌面的“此電腦”圖標>點擊屬性”>點擊高級系統(tǒng)設置>環(huán)境變量>
②配置到系統(tǒng)環(huán)境變量path
2.3)Maven文件setting的配置
①文件結構,進入conf,點擊setting文件
②設置本地倉庫:在本地磁盤中創(chuàng)建一個repository文件夾,我在D盤創(chuàng)的
③在settings.xml文件中找到倉庫配置,修改路徑為剛剛創(chuàng)建的repository文件夾路徑
④settings.xml中的插件配置
⑤settings.xml文件中修改鏡像配置,找到</mirrors>標簽,加入代碼即可
<!--
maven的中央倉庫是在Apache的國外網站,下載效率低
使用阿里鏡像文件提高maven工程的構建和jar包的引入速度
-->
<mirrors>
<!-- 阿里鏡像 -->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>http://repo1.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
<mirror>
<id>ibiblio</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
</mirror>
<mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>google-maven-central</id>
<name>Google Maven Central</name>
<url>https://maven-central.storage.googleapis.com
</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- 中央倉庫在中國的鏡像 -->
<mirror>
<id>maven.net.cn</id>
<name>oneof the central mirrors in china</name>
<url>http://maven.net.cn/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
第三章、Idea整合Maven
3.1)Idea配置Maven
①第一步設置:File>Other Settings>settings for New Projects 設置將會作用于所有新建項目
②第二步:File>Other Settings>build,Execution,Deployment>Build Tools>Maven設置文件路徑倉庫路徑
3.2)新建Maven項目
①第一步:創(chuàng)建工程New project>Maven>勾選Creat from archetype>選擇Maven web工程。點擊next下一步
②第二步:填好工程三要素:包名,工程名,版本。點擊next下一步
③第三步:確定路徑有沒有錯,沒錯直接下一步,然后finish
3.3)低版本的Idea可能出現(xiàn)文件缺省
①Maven的web工程會出現(xiàn)文件缺省,需要我們手動補齊File>project Structure>選擇工程,補全工程結構
②Webapp沒有標識時需要手動引入web屬性
③設置路徑信息
第四章、pom.xml文件配置
4.1)pom文件三要素
建好Maven工程后,文件列表中會看到pom.xml文件
配置文件通過三要素來鎖定一個工程:
①version(版本號)
②groupId(包名)
③artifactId(工程名)
<!--maven的版本號,目前3.0以上的maven工具,生成的都是4.0版本的模型-->
<modelVersion>4.0.0</modelVersion>
<!--包名全小寫,域名倒寫例如 com.Java或者域名倒寫+項目名。例如 com.Java.test-->
<groupId>com.java</groupId>
<!--工程名-->
<artifactId>maven002</artifactId>
<!--工程版本號,版本號都是3位是1.0.0,SNAPSHOT:不穩(wěn)定版-->
<version>1.0-SNAPSHOT</version>
<!--工程打包方式,可以 jar、war、rar、ear、pom,默認是 jar-->
<packaging>war</packaging>
4.2)pom文件中JDK資源配置
配置為1.8
<!--全局屬性的配置-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
4.3)pom文件中配置依賴管理
Maven可以根據(jù)三要素把需要的jar包依賴從本地倉庫引入,并添加到war包中。
如果本地倉庫沒有,則去遠程倉庫下載到本地倉庫。
從網站查詢到需要引入的jar包三要素:Maven的jar包網站:https://mvnrepository.com/
①我們想要導入mysql的依賴jar包,先進入網站查詢MySQL
②找到相關的jar包,點擊進入選擇版本
③如果不太熟悉的話,可以選擇使用量較多的版本
④選擇后,將下列代碼復制進pom.xml文件
⑤復制到pom里面,點擊更新會自動下載
⑥依賴傳遞
如果當前jar包還需要依賴其他jar包,則maven也會幫助我們直接引入,且自動適應版本號
<!--此處只需要引入commons-fileupload.jar需要依賴的commons-io.jar會被自動引入-->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
4.4)pom文件中build標簽進行插件和資源管理
一般我們配置掃描資源文件就好了,插件不需要我們配置
<build>
<!--掃描文件資源-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
<!--插件-->
<pluginManagement><!-- lock down plugins versions to avoid
using Maven defaults (may be moved to parent pom) -->
<plugins>
<!-- clean lifecycle, see https://maven.apache.org/ref/current
/maven-core/lifecycles.html#clean_Lifecycle -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- default lifecycle, jar packaging: see
https://maven.apache.org/ref/current/maven-core/default-
bindings.html#Plugin_bindings_for_jar_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<!-- site lifecycle, see https://maven.apache.org/ref/current/
maven-core/lifecycles.html#site_Lifecycle -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
第五章、Maven的生命周期
5.1)Maven的插件使用
①構建項目時按照生命周期順序構建,每一個階段都有特定的插件來完成
②不論現(xiàn)在要執(zhí)行生命周期中的哪個階段,都是從這個生命周期的最初階段開始的。
③清理 --> 編譯 --> 測試 --> 打包 --> 安裝,每一個步驟都會把前面的步驟再執(zhí)行一遍。文章來源:http://www.zghlxwxcb.cn/news/detail-517935.html
5.2)Maven依賴的生命周期
依賴范圍 | 編譯classpath有效 | 測試classpath有效 | 運行classpath有效 | 例子 |
---|---|---|---|---|
compile | √ | √ | √ | spring-core |
test | √ | Junit | ||
provided | √ | √ | servlet-api | |
runtime | √ | √ | JDBC驅動 | |
system | √ | √ | 本地的,maven倉庫之外的類庫 |
1.compile默認
compile依賴默認值,在編譯、測試和運行周期都存在。
2.provided
provided依賴只有在當JDK或者一個容器已提供該依賴之后才使用,provided依賴在編譯和測試時需要,在運行時不需要,比如:servlet-api 被 tomcat 容器提供。
3.runtime
runtime依賴在運行和測試系統(tǒng)的時候需要,但在編譯的時候不需要。比如:jdbc的驅動包。由于運行時需要所以 runtime 范圍的依賴會被打包。
4.test
test范圍依賴在編譯和運行時都不需要,它們只有在測試編譯和測試運行階段可用。
比如:junit。由于運行時不需要所以 test范圍依賴不會被打包。
5.system
stystem范圍依賴與 provided 類似,但是你必須顯式的提供一個對于本地系統(tǒng)中 JAR文件的路徑,需要指定 systemPath 磁盤路徑,system依賴不推薦使用。文章來源地址http://www.zghlxwxcb.cn/news/detail-517935.html
到了這里,關于Idea整合Maven安裝及配置教程(圖文詳解)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!