JavaEE7和Maven工程入門(2)-Java開發(fā)Java經(jīng)驗(yàn)技巧_第1頁(yè)
JavaEE7和Maven工程入門(2)-Java開發(fā)Java經(jīng)驗(yàn)技巧_第2頁(yè)
JavaEE7和Maven工程入門(2)-Java開發(fā)Java經(jīng)驗(yàn)技巧_第3頁(yè)
JavaEE7和Maven工程入門(2)-Java開發(fā)Java經(jīng)驗(yàn)技巧_第4頁(yè)
JavaEE7和Maven工程入門(2)-Java開發(fā)Java經(jīng)驗(yàn)技巧_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、java ee7和maven工程入門(2)-編程 開發(fā)技術(shù)java ee7 和 maven i程入門(2)木文由importnew陳顯鷺翻譯自javacodegeekso歡迎加入翻譯小組。轉(zhuǎn)載請(qǐng)見文末要 求。目錄1. 一個(gè)簡(jiǎn)單maven工程的結(jié)構(gòu)2. 建立一個(gè)簡(jiǎn)單的war工程先來回顧一下第一部分我們已經(jīng)建立了父pom文件。這種特殊類型的文件用來定義我們項(xiàng)目即將使用的 類庫(kù),它也配置了所有為了打包項(xiàng)目的每個(gè)模塊而使用的maven i具。你可以檢 出第一部分代碼。所以,宜到現(xiàn)在我們開發(fā)的項(xiàng)冃冃錄中我們只有一個(gè)叫做scimple-peirent的文件 夾。而且在這個(gè)口錄小包括pom. xml文件這就

2、是我們的父pom。在我們定義的modules部分屮可以看到,我們的項(xiàng)目由以下兒塊組成: sample-ear sample-web sample-service sample-domain我們需要?jiǎng)?chuàng)建相關(guān)的maven模塊并給每個(gè)模塊增加對(duì)應(yīng)的pom. xml文件。定義war模塊我們?cè)趕ample-parent文件夾下創(chuàng)建一個(gè)叫做sample-web的子文件夾,并且在 這個(gè)文件夾卜面添加一個(gè)pom. xml文件(一些人同時(shí)完成這兩個(gè)步驟)。<project xmlns=,/http:/ni3ven apache. org/pom/4. 0. 0 xmlns:xsi二http:/www. w

3、3. org/2001/xmlschema-instance xsi: schemalocation=,/http:/maven, apache. org/pom/4. 0. 0 http:/maven. apache, org/xsd/maven-4. 0. 0. xsd><modelversion 0. 0/modelversion><parent><groupld>gr. javapapo</groupld><artifactld>sample-parent/artifactld><version>0.

4、0. 1-snapshot</version></parent><arti facttd>sample_web</arti facttd></projcct>但是這個(gè)沒啥用。我們需要更加具休指出這個(gè)pom會(huì)幫助我們構(gòu)建什么。因此我 們需要去定義打包類型,該模塊的名稱(也是war包的名稱)和其他的一些依賴 項(xiàng)。<ar ti factld>saniple-web/artifac tld><packaging>war</packaging><build>finalname>$pro

5、ject. artifacttd</finalame></build>dependencies<dependency><grouptd>javax</grouptd><artifactid>javaccapi</artifoetid<scope>provided</scope>/dependency</dependencies></project>如果你使用支持maven的ide (比如eclipse),會(huì)門動(dòng)發(fā)現(xiàn)pom內(nèi)容的變化。同 時(shí)會(huì)自動(dòng)為你創(chuàng)建文件夾,與你的ma

6、ven war包名一致。它會(huì)按照下而的結(jié)構(gòu)創(chuàng) 建文件夾。你當(dāng)然可以自己手動(dòng)創(chuàng)建,借助工具還是很方便的。sample-web srco main java(在這里添加java代碼) webapp(這里就是 web-infweb.xml 的位置) resources (資源,像配置文件)o test java在webapp子文件夾下我已經(jīng)捉前創(chuàng)建好了 web-lnfweb xml文件??梢蕴^這 個(gè)環(huán)節(jié),因?yàn)閙aven插件可以幫我做這個(gè)工作。這里為了說明如果想要自己創(chuàng)建 或者應(yīng)對(duì)其他一些需要自定義項(xiàng)的情況,如果你想知道在空的servlet 3. 1 web. xml文件里面坊點(diǎn)什么,請(qǐng)看看這甲.或

7、者 下載本文的代碼。我已經(jīng)在sample package下的java子文件夾下放了一個(gè)非常 簡(jiǎn)單的servleto這個(gè)將被包含到我們的項(xiàng)目中,只是很少的兒行代碼。你可以 在本文末尾找到git (bitbucket)鏈接,下載木文所有代碼。因此,僅僅在我們的war模塊的pom文件中添加了很少幾行代碼。如果有ide, 這個(gè)工具會(huì)很神奇的幫我們創(chuàng)建一個(gè)非常詳盡的文件布局。我們根據(jù)這個(gè)布局然 后添加一個(gè)非常簡(jiǎn)單的scrvlct java文件和很少的xml描述符。這才是真正的 意圖所在。maven最爽的事情就是,war模塊一些需要去構(gòu)建的東西己經(jīng)在這個(gè)特殊的父pom 文件里面被預(yù)先定義和配置好了。但是這

8、些東西是什么,maven將如何去使用它 們?正如我們已經(jīng)描述了 maven的全部約定。通過正確的方法排列正確的事情, 然后它們就會(huì)為你完成所有的工作。當(dāng)maven掃描這個(gè)war包的時(shí)候,它需要去做:編譯我們的java servlet類打包sample-web文件夾下面的所冇?xùn)|西變成一個(gè)wai文件和少許依賴項(xiàng)。既然我們沒有添加一些特殊的東西在我們的war pom文件中(除了一個(gè)依賴庫(kù)), 那誰(shuí)為我們做的這些工作呢?那當(dāng)然是這個(gè)配置和我們的父pom文件了(詳情請(qǐng) 查閱上一篇文章)。這個(gè)maven-comp訂er-plugin插件將被觸發(fā)去編譯我們的源文件。既然我們已經(jīng) 定義了 maven模塊的打包

9、是war方式,然后maven-war-plugin插件將被觸發(fā)去 為我們打包一切東西,然后創(chuàng)建適當(dāng)?shù)淖⑨?。?dāng)我們的項(xiàng)目?jī)雍脦讉€(gè)war或者jar模塊情況的時(shí)候,如果我們冇一個(gè)父pom, 并口我們已經(jīng)為它定義了一個(gè)中央位置的插件和基本的配置,那么我們就沒必要 去在其他的那些war或者jar模塊重新定義他們。只有當(dāng)其中的war或者jar模塊需要特別對(duì)待的時(shí)候(例如,打包-些額外的東 西或者有一個(gè)特殊的文件設(shè)計(jì)布局)。那么在這個(gè)項(xiàng)目部分我們需耍重新定義插 件和重寫或者添加一些其他的東西。但是這些不是我們目前的情況,我們希望我 們的插件只定義一次,而且有一個(gè)公共的配置被我們所有的將要使用的項(xiàng)目的其 他的模塊繼承。根據(jù)上面的線索,你可以實(shí)驗(yàn)和嘗試創(chuàng)建我們上面己經(jīng)定義過的 sample-services模塊,或者等待文章的第三部分?,F(xiàn)一個(gè)章節(jié)我們將快速的覆 蓋其他的模塊的配置。你可以在這里找到這篇文章對(duì)應(yīng)的代碼.資源第一篇 maven war文件夾布局 java ee 7xml 描述

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論