Maven是一個(gè)基于項(xiàng)目對(duì)象模型(POM)的概念的純java開發(fā)的開源的項(xiàng)目管理工具,。主要用來管理java項(xiàng)目,,進(jìn)行依賴管理(jar包管理,能自動(dòng)分析項(xiàng)目所需的依賴軟件包,,并到Maven倉庫區(qū)下載)和項(xiàng)目構(gòu)建(項(xiàng)目打包和部署),。此外還能分塊開發(fā),,提高開發(fā)效率。 本文將從以下三個(gè)方面寫起: 1,、Maven的作用 2,、Maven的安裝配置 3、IDEA配置Maven 1,、Maven的作用,,為什么要使用Maven (1)創(chuàng)建項(xiàng)目,自動(dòng)關(guān)聯(lián)和下載依賴的jar包,。 (2)升級(jí)框架的版本,。升級(jí)某個(gè)框架的版本,,但卻不知道與它相關(guān)聯(lián)的哪幾個(gè)jar也需要跟著升級(jí),,和升級(jí)到哪個(gè)版本。 (3)自動(dòng)部署,。用Maven只需一個(gè)命令,,就可以把項(xiàng)目自動(dòng)部署到遠(yuǎn)程服務(wù)器上。 (4)項(xiàng)目編譯打包導(dǎo)出,。這個(gè)隨意一個(gè)IDE都能做到,,所以如果要Maven做這件事,可能的場(chǎng)景,,就是做沒有裝IDE的環(huán)境里,,比如在服務(wù)器端Linux環(huán)境下。 2,、Maven的安裝配置 1,、下載maven 的地址:http://maven./download.cgi 2、解壓,,然后再“我的電腦”--右鍵--“屬性”--“高級(jí)系統(tǒng)設(shè)置”--“環(huán)境變量”中添加如下信息: a,、新增變量MAVEN_HOME的值為Maven的安裝文件夾 b、在PATH變量中添加:%MAVEN_HOME%\bin 3,、驗(yàn)證配置是否成功,,打開cmd,輸入:mvn -version Maven配置文件(settings.xml)具體說明 1.localRepository:設(shè)置本地倉庫: <localRepository>C:\software\repository</localRepository> 2.pluginGroups:插件組合 3.proxies:代理 4.servers服務(wù)器(其中username和password是私服的用戶名和密碼,,后續(xù)配置私服說明) <server> <id>user-releases</id> <username>admin</username> <password>123456</password> </server> <server> <id>user-snapshots</id> <username>admin</username> <password>wangwujuan</password> </server> 5.mirrors:鏡像路徑 <!-- 阿里鏡像 --> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> 6.profiles:服務(wù)器配置 <!--服務(wù)器的配置--> <profile> <id>nexusProfile</id> <repositories> <repository> <id>nexus</id> <name>nexus</name> <url>http://localhost:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <!-- 插件倉庫,,maven的運(yùn)行依賴插件,也需要從私服下載插件 --> <pluginRepository> <!-- 插件倉庫的id不允許重復(fù),,如果重復(fù)后邊配置會(huì)覆蓋前邊 --> <id>public</id> <name>Public Repositories</name> <url>http://localhost:8081/nexus/content/groups/public/</url> </pluginRepository> </pluginRepositories> </profile> <!-- java編譯插件,,配jdk的編譯版本--> <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile> 7.activeProfiles:激活私服 <activeProfiles> <activeProfile>nexusProfile</activeProfile> </activeProfiles> Maven倉庫說明 存儲(chǔ)jar的倉庫(3種倉庫) 1.本地倉庫:存儲(chǔ)在本地磁盤,默認(rèn)在系統(tǒng)盤c盤 用戶名/.m2/xx 通過settings.xml 更改本地倉庫localRepository 2.遠(yuǎn)程倉庫:一般都使用國內(nèi)鏡像或者公司自己搭建私服. 一般用Nexus 目的:加快下載速度 3.Maven(中央)倉庫:Maven團(tuán)隊(duì)維護(hù)的jar包倉庫 http://repo1./maven2/ 一般用這個(gè)查POM:http:/// 檢索順序:先檢索本地倉庫--再檢索遠(yuǎn)程倉庫--最后檢索中央倉庫 Maven管理項(xiàng)目周期 1. Clean:項(xiàng)目構(gòu)建前的清理操作 2. Default: 核心生命周期核心過程:編譯,,運(yùn)行,,打包等等 3. Site:發(fā)布站點(diǎn),,生成報(bào)告等等, 3,、IDEA配置Maven IDEA內(nèi)部集成了Maven,,也可以配置成自己安裝的Maven File ----> Settings ----> 找到Maven,配置Maven home directory 創(chuàng)建Maven項(xiàng)目 File ----> New ----> Project ----> Maven 勾選Create from archetype 選擇maven-archetype-webapp 點(diǎn)擊Next 輸入GroupId,、ArtifactId點(diǎn)擊Next 選擇Maven的版本 輸入項(xiàng)目名稱和目錄,,點(diǎn)擊Finish 創(chuàng)建項(xiàng)目后,點(diǎn)擊Import Changes按鈕,,會(huì)下載需要的jar包和插件 Maven項(xiàng)目說明 src/main/java:存放項(xiàng)目的.java文件 src/main/resources:存放項(xiàng)目資源文件,。如何Spring,Hibernate配置文件 src/test/java:存放所有測(cè)試的.java文件.如Junit測(cè)試類 pom.xml(maven項(xiàng)目核心配置文件) pom.xml默認(rèn)內(nèi)容介紹: <!-- maven中model的版本號(hào) --> <modelVersion>4.0.0</modelVersion> <!-- 公司名稱或組織名稱或者個(gè)人名稱 --> <groupId>com.sky</groupId> <!--項(xiàng)目名稱 --> <artifactId>FirstMaven</artifactId> <!-- 版本號(hào) --> <version>1.0</version> <!-- 打包方式 :項(xiàng)目類型 POM:MAVEN項(xiàng)目,常用在繼承和聚合上 JAR:JAVASE項(xiàng)目,沒有網(wǎng)頁,,跟服務(wù)器沒關(guān)系 WAR:JAVAEE項(xiàng)目,,跟服務(wù)器沒關(guān)系--> <packaging>war</packaging> Maven工程添加依賴 推薦網(wǎng)站:http:/// 示例: <dependencies> <!-- https:///artifact/org.hibernate/hibernate-core --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.2.10.Final</version> </dependency> </dependencies> 添加到項(xiàng)目的pom文件內(nèi)容說明(切換pom.xml到Dependencies目錄下): type:類型 取值說明: jar:jar包 Scope:聲明jar包的存活時(shí)間 取值說明: 1、provided:編譯和測(cè)試時(shí)需要 2,、compile:編譯,、測(cè)試、運(yùn)行,、打包需要 3,、runtime:測(cè)試、運(yùn)行,、打包需要 4,、test:測(cè)試 5、system:編譯和測(cè)試時(shí)需要,顯示引用,,Maven不會(huì)檢索 |
|