




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于 Maven2+Eclipse+WTP+m2eclipse開發(fā) Java EE 應用程序JimSep 20,2010一、MavenMaven?Maven 是標準、格式以及一些用以管理和描述項目。它為構(gòu)建、測試、部署項目定義了一個標準的生命周期。它提供了一個框架,允許遵循 Maven 標準的所有項目,方便的重用的構(gòu)建邏輯。Maven 項目存在的 Apache,是一個開源社區(qū),它開發(fā)的工具,基于一個通用的對象模型(Project Object M),也就是 POM。約定大于配置Maven 遵循約定大于配置的原則。通過給項目提供默認的行為來減少不必要的配置。POM在一個 Maven 項目中,通過
2、POM 來指定項目的相關(guān)信息。Maven 對于項目的唯一標識條件:, artifact ID, ver(簡稱 GAV)Grou1Maven 項目的結(jié)構(gòu)一個Maven 的項目包括如下結(jié)構(gòu):其中:src 存放源代碼,存入的是編譯后的,pom.xml 是 Maven項目的文件。main 中存放用來發(fā)布至生產(chǎn)環(huán)境的代碼及配置,test 中存放測試時候使用的代碼及配置。java 中存放java 代碼,resource 中存放配置文件。一個web 項目結(jié)構(gòu)如下:一個web 項目中增加了一個 webapp,用來存放 web 頁面代碼。Maven 的生命周期Maven 默認的生命周期階段包括:validate
3、 validate the project is correct and all ne is availablecompile compile the source code of the projectsary information2test test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployedpackage take the compiled code and package
4、 it in its distributable format, such as a JAR.egrationtest pros and deploy the package if nesaryo anenvironment whereegration tests can be runverify run any checks to verify the package is valid and meets quality criteriainstall install the packageo the local reitory, for use as adependency in othr
5、ojects locallydeploy done in an egration or release environment, copies the final package to the remote re itory for sharing with other developers and projects.Maven2.2 的一個完整的階段包括:validate,generatesour,prossour,generateresour,prosresopile,prosclasses,generatetestsour,prostestsour,generatetestresour,
6、prostestresour,pile,test,preparepackage,package,preegrationtest,egrationtest,tgrationtest,verify,install,deploy生命周期階段描述validate驗證項目是否正確,以及所有為了完整構(gòu)建所需要的信息是否可用generatesour生成所有需要包含在編譯過程中的源代碼prossour處理源代碼,比如過濾一些值generateresour生成所有需要包含在打程中資源文件prosresour并處理資源文件至目標目錄compile編譯項目的源代碼prosclasses后處理編譯生成的文件,例如對
7、Java 類進行一些代碼增強(bytecode)generatetestsour生成所有包含在測試編譯過程的測試源碼prostestsour處理測試源碼,比如過濾一些值generatetestresour生成測試需要的資源文件prostestresour并處理測試資源文件至于測試目錄pile編譯測試源碼至測試目標目錄test使用合適的單元測試框架運試preparepackage在真正的打包之前,執(zhí)行一些準備打包必要的操作package將編譯好的代碼打包成可分發(fā)的格式,如JAR,WAR,EAR.preegrationtest執(zhí)行一些在集成測試運行之前需要的動作,如建立執(zhí)試需要的環(huán)境egratio
8、ntest處理發(fā)布至集成測試可以運行的環(huán)境tegrationtest執(zhí)行一些在集成環(huán)境運行之后需要的動作,如集成測試環(huán)境Verify執(zhí)行所有的檢查,驗證包是有效的,符合質(zhì)量規(guī)范Install安裝包至本地倉庫,以備其它的項目做為依賴使用Deploy最終的包至倉庫,共享給其它開發(fā)式的發(fā)布相關(guān))和項目(通常和一次正如何執(zhí)行Maven1. 安裝Maven(1)Maven,并解壓3(2)在系統(tǒng)環(huán)境變量中設(shè)置M2_HOME(3)將%M2_HOME%/bin加入至系統(tǒng)環(huán)境變量 path 中。(4)在 DOS 窗口中,輸入mvn ver,若顯示版本號相關(guān)信息,則安裝成功。2. 配置MavenMaven 的配置
9、是通過%M2_HOME%/conf/setting.xml 來進行配置。 setting.xml 用來配置一些全局性的配置,包括服務器的地址,本地的常用的配置包括:庫的地址等。(1)本地Maven庫的地址(localReitory)用來定義本地的 Maven 的庫的地址,即從 Maven 倉庫中的文件的的位4置。如:(2)Maven 服務器地址(server) 在發(fā)布構(gòu)件至本地的情況下需要。如:(3)鏡像服務器(Mirror)定義鏡像服務器來替代指定的倉庫,即通過匹配相關(guān)的的倉庫的 id 從鏡像的服務器上查找構(gòu)件,而不從如:的服務上面查找。(4)配置(Profile)Profile 用來定義倉
10、庫的地址和插件倉庫的地址,用來發(fā)布、獲取構(gòu)件。如:(5)激活配置指定哪些配置被激活。5nexusnexus本地開發(fā)庫defaulttruetruenexustruetruenexus*Nexus Mirror for all.nexusreleasesadminadmin123nexuapshotsadminadmin123d:/Maven/reitory如:3. 使用Maven(1)創(chuàng)建Maven 項目可以通過執(zhí)行相應的maven 命令來進行。執(zhí)行方式包括:mvn pluginId:goalId 或者是mvn phase。mvn pluginId:goalId 是執(zhí)行相關(guān)的插件的目標。如:將
11、創(chuàng)建一個新的項目。其中:mvn 是 Maven令。archetype:create 稱為Maven 的目標。archetype 實際上是一個插件id,create稱之為目標 id。Dname=value 是將會傳入到目標中的參數(shù),使用D 屬性的形式,類似于通過命令行向虛擬機傳遞系統(tǒng)屬性。一個Maven 插件是一組或者多個目標的集合。mvn phase 是執(zhí)行 maven 的生命周期的階段如:將執(zhí)行打包的操作??梢詫⒉寮哪繕私壎ǖ?Maven 的生命周期上,每個階段可以綁定零個或者是多個目標。Maven 在執(zhí)行生命周期的時候,會有序的執(zhí)行前置的所有階段,直到命令指定的生命周期。Maven 的依
12、賴管理一個復雜項目會包含有很多的依賴,也可能是包含有依賴于其它構(gòu)件的依賴。Maven 支持依賴傳遞(transitive dependencies),如果你的項目依賴于一個庫,而這個庫又依賴于多個其它的庫,你只需要加上你依賴的庫即可,Maven 會自動將依賴的庫的依賴加入你的項目中。Maven 中的對于項目的依賴的配置在 POM.xml 中,通過配置 dependency 來指定如:6junitjunit4.8.1testmvn packagemvn archetype:create .vaalhaai monmonnexus添加junit 依賴。其中:grou,artifactId 指定依賴
13、庫的 grou ver指定構(gòu)件的版本;和artifactId;scope 指定庫依賴的范圍,test 指在測試階段需要(不會打包到生產(chǎn)環(huán)境中去)。二、EclipseEclipse 作為開源的集成開發(fā)環(huán)境,是目前使用最廣泛的 IDE。三、WTPWTP(Web Tools Platform)是基于 Eclipse 開發(fā) Web 組件的插件。四、m2eclipsem2eclipse 為 Eclipse 提供了與 Maven 的集成,提供了簡易的使用Maven 的方式。配置m2eclipseWindow Preferen7scope描述compile缺省值,適用于所有階段,會隨著項目一起發(fā)布test只
14、在測試時使用,用于編譯和運試代碼。不會隨項目發(fā)布runtime只在運行時使用,如 JDBC 驅(qū)動,適用運行和測試階段provided類似compile,期望 JDK、容器或使用者會提供這個依賴。如 servlet.jarsystem類似 provided,需要顯式提供包含依賴的 jar,Maven 不會在 Reitory中查找它import它只使用在 中, 表示從其它的 pom 中導入dependency 的配置1. 配置Maven 安裝路徑 Add,選擇本地的 Maven 安裝路徑。Maven Installations892. 配置Maven 的User setting.Maven Use
15、r Settings Brower,選擇 settings.xml.(settings.xml 配置參見配置Maven)103. 打開Mavenitories 視圖ReWindow Show View Other,選擇 Maven Maven Reitories.11使用m2eclipse 進行開發(fā)1. 創(chuàng)建Maven 項目當安裝了m2eclipse 后,在選擇 FileNewOther 后,在出現(xiàn)在向?qū)е?,會出現(xiàn) Maven 的相關(guān)的。選擇Maven Project,就可以創(chuàng)建 Maven 項目。12選擇Maven 項目13選擇簡單的項目14輸入 GAV 信息1516如:通過m2clipse
16、 創(chuàng)建了一個POM 項目若創(chuàng)建 POM 項目的 Module 項目,在右鍵菜單中選擇MavenNew Maven Module Project171819通過向?qū)?chuàng)建了一個新項目如下:由于默認的創(chuàng)建為運行環(huán)境為 1.4,需要修改為 1.6.20修改運行環(huán)境為 1.6212. 添加依賴通過右鍵菜單MavenAdddependency 來添加依賴庫。22輸入依賴庫的名稱,選擇構(gòu)件,并選擇 scope。233. 運行項目通過右鍵菜單Runas 選擇相應目標來完成241、五、如何進行 Maven Java EE 項目的開發(fā)調(diào)試項目劃分1.依據(jù)Maven 的最佳實踐,對于大型項目,一般按照分層進行劃分。
17、創(chuàng)建一個Maven 的POM 項目,然后在里面再創(chuàng)建子模塊。一個典型的 Java EE 項目結(jié)構(gòu)如下:25建立 POM 父項目 DS,包含二個子項目 DS.式為jar)。(打包方式為jar)以及 DS.Service(打包方Service 依賴于.獨立的 Maven 項目DS.eTrading(打包方式為 war),依賴于 DS.Service.2. 如何運行項目(1)mvn install DS在 POM 項目點擊右鍵,Run As Maven install26(2)mvn install eTrading為了保證版本號不至于影響至調(diào)試, 也便于,修改打包后的文件名為eTrading。在
18、POM.xml 中增加build 的子元素finalName。如下:在 ds.eTrading 項目點擊右鍵,Run As Maven install27eTrading可以看到目錄如下:(3)新建WTP ServerFile New Other,選擇 Server,Next,修改 server name, Finish282930(4)添加eTrading 項目至 WTP Server打開 WTP 的server 的配置頁,在雙擊 servers 下面的 server(eTrading)選擇 ModulesAddExternal Web Module Brower 選擇 ds.eTrading 項目下的目錄下的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2019-2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識模擬考試試卷A卷含答案
- 2019-2025年消防設(shè)施操作員之消防設(shè)備中級技能題庫練習試卷B卷附答案
- 2019-2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識題庫練習試卷A卷附答案
- 人民防空知識培訓課件
- 酒店推廣傭金合同(2篇)
- 采購分包付款合同(2篇)
- 宮頸癌疫苗知識培訓課件
- 2025年愛國知識競賽題及答案(67題)
- 文化遺產(chǎn)保護與傳承合作協(xié)議
- 細胞制備服務合作協(xié)議
- DB11T 213-2014 城鎮(zhèn)綠地養(yǎng)護管理規(guī)范
- 2022電力監(jiān)控系統(tǒng)網(wǎng)絡安全監(jiān)測裝置說明書
- 2024年國家林業(yè)和草原局直屬事業(yè)單位招聘應屆畢業(yè)生231人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 健合集團在線測評原題
- 義務教育版(2024)五年級 信息科技 《第3課 游戲體驗尋規(guī)律》教學設(shè)計
- 含有滯納金合同模板
- 《工程熱力學》(第四版)全冊配套完整課件
- 和父親斷絕聯(lián)系協(xié)議書范本
- 5 建立良好的公共秩序《共同建設(shè)有序生活》(第二課時)(教學設(shè)計)2023-2024學年統(tǒng)編版道德與法治五年級下冊
- 中國新聞事業(yè)史智慧樹知到答案2024年山東大學
- Inventor基礎(chǔ)教程與實戰(zhàn)技能 課件匯 第1-8章 認識Inventor2023-設(shè)計可視化
評論
0/150
提交評論