




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1,Maven 入門,2,課程目的,了解Maven的基本概念 能使用常見的Maven命令,3,大綱,Maven2基礎(chǔ) 由來 安裝使用 基本概念 常用命令一覽 參考資料,4,Maven由來,Brett Porter,Jason Van Zyl,5,簡介,Maven2是一個近乎“業(yè)界標(biāo)準(zhǔn)”的構(gòu)建工具 源自Turbine Antx借鑒了maven1的很多經(jīng)驗 POM,新的項目構(gòu)建、管理概念 Apache上絕大部分的Java項目都用Maven編譯,6,Maven是什么?,項目構(gòu)建工具 編譯代碼 管理項目之間的依賴 管理二進(jìn)制庫 方便擴(kuò)展 過程標(biāo)準(zhǔn)化,7,B2B編譯工具沿革,最早,我們用Makefile
2、來build系統(tǒng) Makefile不適合Java的編譯 后來,我們用Ant來build系統(tǒng) 開始時很不錯 隨著項目增多,出現(xiàn)困難 利用beanshell控制Ant API,將常用操作寫成plugin,增加中心repository控制 即Antx 1.0 簡化了Ant的配置 但beanshell-based plugin很難掌握 利用maven 1.0中的jelly來控制Ant API 即Antx 2.0 簡化了創(chuàng)建plugin的過程 遷移到Maven2,8,Maven安裝,前提條件 JDK(推薦JDK5) 設(shè)置JAVA_HOME環(huán)境變量 從官方網(wǎng)站下載Maven最新版(2.2.1) http:
3、//download.html 解壓maven包,設(shè)置兩個環(huán)境變量:M2_HOME和path即可。 M2_HOME=c:dev-toolsmaven-2.2.1 path=%M2_HOME%bin 檢查安裝結(jié)果 打開命令行窗口,輸入: mvn -version,9,創(chuàng)建Maven項目,先創(chuàng)建一個c:learn-maven目錄 在此目錄下,用mvn命令創(chuàng)建空白項目: mvn archetype:create -DgroupId=com.alibaba -DartifactId=myproject 目錄結(jié)構(gòu)如下: myproject pom.xml- 項目描述文件
4、src main - java - 源代碼目錄 main - test 測試代碼目錄 target - 編譯結(jié)果,10,Maven /Antx目錄結(jié)構(gòu)比較,Maven2項目,Antx項目,VS,11,創(chuàng)建Maven項目-修改pom.xml,修改項目描述文件:pom.xml mons mons.beanutils 1.7.0 ,12,創(chuàng)建Maven項目-build,在learn-maven/myproject目錄下, 執(zhí)行:mvn install INFO jar:jar execution: default-jar INFO Building jar: INFO - INFO BUILD SU
5、CCESSFUL INFO - INFO Total time: 5 seconds INFO Finished at: Mon Nov 30 22:34:51 CST 2009 INFO Final Memory: 14M/25M INFO -,13,創(chuàng)建Maven項目-編寫單元測試,Maven已經(jīng)自動為我們創(chuàng)建了一個TestCase類在src/test/java目錄下,打開看看吧。,14,創(chuàng)建Maven項目-執(zhí)行測試,在learn-maven/myproject目錄下, 執(zhí)行:mvn test - T E S T S - Running com.alibaba.AppTest Tests
6、run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.031 sec Results : Tests run: 1, Failures: 0, Errors: 0, Skipped: 0,15,項目之間的依賴:創(chuàng)建項目2,切換到learn-maven目錄下,創(chuàng)建另一個項目:myproject2 mvn archetype:create -DgroupId=com.alibaba -DartifactId=myproject 找到myproject2/src/main 下的App.java并刪除之 修改myproject2/pom
7、.xml,在junit依賴項下面添加對myproject的依賴, com.alibaba myproject 1.0-SNAPSHOT ,16,項目之間的依賴:創(chuàng)建項目2,MyProject2完整POM如下:,17,項目之間的依賴:創(chuàng)建類,在myproject2/src/main/test目錄下找到AppTest.java, 修改AppTest.java package com.alibaba; public class App2 public static void main(String args) System.out.println( !); System.out.println( H
8、ello + new App() ); System.out.println( !); ,18,項目之間的依賴:編譯并運行,在myproject2目錄下 執(zhí)行:mvn test 輸出結(jié)果:,19,Maven基本概念 - 1,Project 任何您想build的事物,Maven都可以認(rèn)為它們是工程。這些工程被定義為工程對象模型(POM,Poject Object Model)。一個工程可以依賴其它的工程;一個工程也可以由多個子工程構(gòu)成 POM: POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元數(shù)據(jù)文件,類似于Ant中的build.xml文件。POM文件位于每個工程的
9、根目錄中。,20,Maven基本概念 - 2,GroupId: groupId是一個工程的在全局中唯一的標(biāo)識符,一般地,它就是工程名。groupId有利于使用一個完全的包名,將一個工程從其它有類似名稱的工程里區(qū)別出來。 Artifact: artifact是工程將要產(chǎn)生或需要使用的文件,它可以是jar文件,源文件,二進(jìn)制文件,war文件,甚至是pom文件。每個artifact都由groupId和artifactId組合的標(biāo)識符唯一識別。需要被使用(依賴)的artifact都要放在倉庫(見Repository)中,否則Maven無法找到(識別)它們。,21,Maven基本概念 - 3,Depen
10、dency: 為了能夠build或運行,一個典型的Java工程會依賴其它的包。在Maven中,這些被依賴的包就被稱為dependency。dependency一般是其它工程的artifact。 Plug-in: Maven提供了強(qiáng)大的插件擴(kuò)展功能,的每一個功能都是由插件提供的。插件提供goal(類似于Ant中的target),并根據(jù)在POM中找到的元數(shù)據(jù)去完成工作。Maven插件大部分是由Java寫成的,但它也支持用Beanshell或Ant腳本寫成的插件。,22,Maven基本概念 - 4,Repository 倉庫用于存放artifact,它可以是本地倉庫,也可以是遠(yuǎn)程倉庫。 B2B公共倉
11、庫: http:/repo.alibaba- BU私有倉庫 Maven有一個默認(rèn)的遠(yuǎn)程倉庫: /maven2/ 在Windows平臺上,本地倉庫的默認(rèn)地址是User_Home.m2repository。,23,Maven基本概念 - 5,SNAPSHOT 工程中可以(也應(yīng)該)有一個特殊版本,它的版本號包括SNAPSHOT字樣。該版本可以告訴Maven,該工程正處于開發(fā)階段,會經(jīng)常更新(但還未發(fā)布)。當(dāng)其它工程使用此類型版本的artifact時,Maven會在倉庫中尋找該artifact的最新版本,并自動下載、使用該最新版。,24,Maven基本概念 - 6,RELEASED LATEST,25
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 移動公司退費管理辦法
- 舟山企業(yè)能耗管理辦法
- 土壤檢測資質(zhì)管理辦法
- 肩周炎的中醫(yī)治療
- 肥胖慢病課件
- 廣東24年一模數(shù)學(xué)試卷
- 瘋狂李老師課堂數(shù)學(xué)試卷
- 巔峰訓(xùn)練初一數(shù)學(xué)試卷
- 東林中學(xué)數(shù)學(xué)試卷
- 廣東到福建中考數(shù)學(xué)試卷
- 2025年國家保安員試考試題庫(附答案)
- ISO28000:2022供應(yīng)鏈安全管理體系
- 立訊精密研究報告
- 陰道松弛癥的整復(fù)治療演示文稿
- 注塑行業(yè)MES系統(tǒng)解決方案
- 2023年云谷投資控股(集團(tuán))有限公司招聘筆試模擬試題及答案解析
- 三下開采規(guī)范2019版
- 歐式宗譜模板
- 《汽車座椅制造工藝》PPT課件
- 衛(wèi)星通信地球站設(shè)備安裝工程施工及驗收技術(shù)規(guī)范YD5017
- 建筑工程優(yōu)質(zhì)結(jié)構(gòu)獎匯報材料
評論
0/150
提交評論