maven 镜像_Maven(一)
1. 掌握M2Elipse插件安裝及Maven倉庫的配置
2. 掌握Maven工程目錄結(jié)構(gòu)和創(chuàng)建工程
3. 掌握Maven工程的關(guān)系
4. 掌握Maven常見的插件
5. 掌握Maven命令
壹、什么是 Maven
在Maven中,可以理解為所有的項(xiàng)目都是一個個的對象。
貳、Maven 和 ANT 的區(qū)別
叁、 Maven 的下載與 IDE 的整合
window->Preferences->Maven->Installations,將下載好的的Maven工具添加。
添加后將其勾選,確定。
指定Maven的配置文件。也可以將原setting.xml文件復(fù)制一份放入到其他文件夾中進(jìn)行指定,并自定義配置本地倉庫
二、Maven 倉庫與配置
Maven 倉庫是基于簡單文件系統(tǒng)存儲的,集中化管理 Java API 資源(構(gòu)件)的一個服 務(wù)。倉庫中的任何一個構(gòu)件都有其唯一的坐標(biāo),根據(jù)這個坐標(biāo)可以定義其在倉庫中的唯一存 儲路徑。得益于 Maven 的坐標(biāo)機(jī)制,任何 Maven 項(xiàng)目使用任何一個構(gòu)件的方式都是完全 相同的,Maven 可以在某個位置統(tǒng)一存儲所有的 Maven 項(xiàng)目共享的構(gòu)件,這個統(tǒng)一的位 置就是倉庫,項(xiàng)目構(gòu)建完畢后生成的構(gòu)件也可以安裝或者部署到倉庫中,供其它項(xiàng)目使用。1、遠(yuǎn)程倉庫:
遠(yuǎn)程倉庫指通過各種協(xié)議如 file://和 http://訪問的其它類型的倉庫。這些倉庫可能是第 三方搭建的真實(shí)的遠(yuǎn)程倉庫,用來提供他們的構(gòu)件下載(例如 repo.maven.apache.org 和 uk.maven.org 是 Maven 的中央倉庫)。其它“遠(yuǎn)程”倉庫可能是你的公司擁有的建立在文件 或 HTTP 服務(wù)器上的內(nèi)部倉庫,用來在開發(fā)團(tuán)隊(duì)間共享私有構(gòu)件和管理發(fā)布的。2、本地倉庫:
本地倉庫指本機(jī)的一份拷貝,用來緩存遠(yuǎn)程下載,包含你尚未發(fā)布的臨時構(gòu)件。3、本地倉庫配置
本地倉庫是開發(fā)者本地電腦中的一個目錄,用于緩存從遠(yuǎn)程倉庫下載的構(gòu)件。
在settings文件中進(jìn)行配置
<localRepository>D:/java-libs4、鏡像倉庫配置
如果倉庫 A 可以提供倉庫 B 存儲的所有內(nèi)容,那么就可以認(rèn)為 A 是 B 的一個鏡像。例 如:在國內(nèi)直接連接中央倉庫下載依賴,由于一些特殊原因下載速度非常慢。這時,我們可 以使用阿里云提供的鏡像 http://maven.aliyun.com/nexus/content/groups/public/來替換中央倉 庫 http://repol.maven.org/maven2/。
在settings文件中進(jìn)行配置
<mirror>倉庫優(yōu)先級
本地倉庫,鏡像倉庫,中央倉庫。
鏡像倉庫=中央倉庫。 鏡像倉庫是用于替代中央倉庫的。
倉庫訪問優(yōu)先級:
本地倉庫 第一訪問本地倉庫。 指定倉庫 如果本地倉庫不存在對應(yīng)信息,訪問配置文件中指定的遠(yuǎn)程倉庫。 這個遠(yuǎn)程倉庫是第二優(yōu)先級。 遠(yuǎn)程倉庫 鏡像倉庫 鏡像倉庫是 Maven 開發(fā)過程中的首選遠(yuǎn)程倉庫,在本地倉庫和指定倉庫無法獲取資源 的時候,直接訪問鏡像倉庫。 中央倉庫 如果鏡像倉庫不是中央倉庫 ,則會在訪問鏡像倉庫無法獲取資源后,訪問中央倉庫。訪問流程
Maven在根據(jù)坐標(biāo)查找jar包的時候,首先訪問的是本地倉庫,如果在本地倉庫中沒有包含坐標(biāo)jar包, 那么訪問指定倉庫。 在本地倉庫和指定倉庫無法獲取資源的時候,訪問鏡像倉庫,如果鏡像倉庫不是中央倉庫, 那么在訪問鏡像倉庫無法獲取資源后,訪問中央倉庫。伍、Maven工程
1、Maven 的工程類型 1.1、POM 工程 POM 工程是邏輯工程。用在父級工程或聚合工程中。用來做 jar 包的版本控制。 1.2、 JAR 工程 將會打包成 jar 用作 jar 包使用。即常見的本地工程 - Java Project。 1.3 、WAR 工程 將會打包成 war,發(fā)布在服務(wù)器上的工程。如網(wǎng)站或服務(wù)。 即常見的網(wǎng)絡(luò)工程 - Dynamic Web Project。war 工程默認(rèn)沒有 WEB-INF 目錄及 web.xml 配置文件,IDE 通常會顯示工程錯誤, 提供完整工程結(jié)構(gòu)可以解決。一、maven工程的創(chuàng)建
New--> other -->Maven Project
填寫項(xiàng)目信息 1 Group Id 公司域名倒寫 2 Artifact Id 項(xiàng)目名 3 Version 版本名 4 Packaging 項(xiàng)目類型4.1 Jar java 項(xiàng)目4.2 War : web 項(xiàng)目4.3 POM: 父項(xiàng)目.如果項(xiàng)目有子項(xiàng)目,項(xiàng)目必須是 pom 5 Name : 自定義名稱,內(nèi)容任意 6 Description: 描述.詳細(xì)描述. 7 Parent Project: 如果當(dāng)前項(xiàng)目有父項(xiàng)目時填寫二、Maven工程結(jié)構(gòu)
src/main/java 這個目錄下儲存 java 源代碼 src/main/resources 儲存主要的資源文件。比如spring的xml配置文件和log4j的properties 文件。 src/test/java 儲存測試用的類,比如 JUNIT 的測試一般就放在這個目錄下面 src/test/resources 儲存測試用的資源文件 src 包含了項(xiàng)目所有的源代碼和資源文件,以及其他項(xiàng)目相關(guān)的文件。 target 編譯后內(nèi)容放置的文件夾 pom.xml 是 Maven 的基礎(chǔ)配置文件。配置項(xiàng)目和項(xiàng)目之間關(guān)系,包括配置依賴關(guān)系等等配置Pom.xml文件
三、Maven工程關(guān)系
1、依賴關(guān)系,創(chuàng)建jar類型工程
<dependencies>A項(xiàng)目打包
選中項(xiàng)目,Run As--->Maven install,當(dāng)控制臺出現(xiàn)BUILD SUCCESS時就代表打包成功。可以從target中看到。
在B項(xiàng)目中引入A項(xiàng)目。
2、繼承
概念: 如果 A 工程繼承 B 工程,則代表 A 工程默認(rèn)依賴 B 工程依賴的所有資源,且可以應(yīng)用 B 工程中定義的所有資源信息。 被繼承的工程(B 工程)只能是 POM 工程。 父工程:對項(xiàng)目資源做統(tǒng)一管理。 子工程:繼承父工程,從父工程中的坐標(biāo)中選擇使用哪些來開發(fā)項(xiàng)目。pom類型工程結(jié)構(gòu)與jar工程結(jié)構(gòu)不同File - New -Maven Project,選擇創(chuàng)建pom類型的工程,之后修改pom.xml文件。
properties,該標(biāo)簽下可以定義任何子標(biāo)簽,標(biāo)簽名字可以任意填寫。dependencyManagement,當(dāng)前只是定義坐標(biāo)不會將該坐標(biāo)導(dǎo)入項(xiàng)目中pom.xml配置
<project統(tǒng)一版本管理
在pom工程pom.xml中配置
<junit-version>4.2在jar工程中配置
<parent>3、聚合
當(dāng)我們開發(fā)的工程擁有 2 個以上模塊的時候,每個模塊都是一個獨(dú)立的功能集合。比如 某大學(xué)系統(tǒng)中擁有搜索平臺,學(xué)習(xí)平臺,考試平臺等。開發(fā)的時候每個平臺都可以獨(dú)立編譯, 測試,運(yùn)行。這個時候我們就需要一個聚合工程。 在創(chuàng)建聚合工程的過程中,總的工程必須是一個 POM 工程(Maven Project),各子模 塊可以是任意類型模塊(Maven Module)。所有聚合工程和聚合模塊必須處于同一個組 (groupId)中,且聚合工程可以嵌套。
可以配置多個module標(biāo)簽Maven 中的常見插件配置
1.編譯器插件
pom.xml文件配置(局部對當(dāng)前項(xiàng)目有效)
<build>settings.xml 文件中配置全局編譯器插件
<profile>2.Tomcat 管理插件
本地應(yīng)用
運(yùn)行命令(tomcat7:run)
<build>遠(yuǎn)程熱部署
運(yùn)行命令(第一次 tomcat7:depoly 第二次 tomcat7:redepoly )
遠(yuǎn)程熱部署是指,在 Tomcat 容器運(yùn)行過程中,動態(tài)實(shí)現(xiàn) war 工程的部署,重新部署功能。
方式三:在linux系統(tǒng)中tomcat目錄下conf目錄下tomcat-users.xml文件中配置
<role在pom.xml中配置
<build>方式四:只用文件上傳工具把war包直接上傳到linux中tomcat目錄下wapps下root中
Maven 常用命令
install 本地安裝, 包含編譯,打包,安裝到本地倉庫 編譯 - javac 打包 - jar, 將 java 代碼打包 為 jar 文件 安裝到本地倉庫 - 將打包的 jar 文件,保存到本地倉庫目錄中。 clean 清除已編譯信息。 刪除工程中的 target 目錄。 compile 只編譯。 javac 命令 deploy 部署。 常見于結(jié)合私服使用的命令。 相當(dāng)于是 install+上傳 jar 到私服。 包含編譯,打包, 安裝到本地倉庫,上傳到私服倉庫。 package 打包。 包含編譯,打包兩個功能。總結(jié)
以上是生活随笔為你收集整理的maven 镜像_Maven(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: layui添加复选框_layui复选框使
- 下一篇: 内固定取出术后护理_股骨内固定钢板取出术