Maven Web應(yīng)用

Maven Web應(yīng)用

本教程將教你如何管理使用Maven版本控制系統(tǒng)管理一個(gè)基于Web項(xiàng)目救赐。在這里,將學(xué)習(xí)如何創(chuàng)建/構(gòu)建/部署和運(yùn)行Web應(yīng)用程序:

創(chuàng)建Web應(yīng)用程序

要?jiǎng)?chuàng)建一個(gè)簡單的java web應(yīng)用程序毯侦,我們將使用Maven的原型 - web應(yīng)用插件。因此,讓我們打開命令控制臺(tái)受扳,進(jìn)入到C: MVN目錄并執(zhí)行以下命令mvn命令序无。

C:MVN>mvn archetype:generate 
-DgroupId=com.companyname.automobile 
-DartifactId=trucks
-DarchetypeArtifactId=maven-archetype-webapp 
-DinteractiveMode=false

Maven會(huì)開始處理验毡,并建立完整的基于Web的Java應(yīng)用程序項(xiàng)目結(jié)構(gòu)。

[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] -------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [archetype:generate] (aggregator-style)
[INFO] -------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] [archetype:generate {execution: default-cli}]
[INFO] Generating project in Batch mode
[INFO] --------------------------------------------------------------------
[INFO] Using following parameters for creating project 
from Old (1.x) Archetype: maven-archetype-webapp:1.0
[INFO] --------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.companyname.automobile
[INFO] Parameter: packageName, Value: com.companyname.automobile
[INFO] Parameter: package, Value: com.companyname.automobile
[INFO] Parameter: artifactId, Value: trucks
[INFO] Parameter: basedir, Value: C:MVN
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:MVN   rucks
[INFO] -------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] -------------------------------------------------------------------
[INFO] Total time: 16 seconds
[INFO] Finished at: Tue Jul 17 11:00:00 IST 2012
[INFO] Final Memory: 20M/89M
[INFO] -------------------------------------------------------------------

現(xiàn)在去到C:/ MVN目錄愉镰。您將看到創(chuàng)建了一個(gè)名為trucks (如artifactId指定)一個(gè)java應(yīng)用程序項(xiàng)目米罚。

Maven使用標(biāo)準(zhǔn)的目錄結(jié)構(gòu)。用上面的例子中丈探,我們可以了解到以下關(guān)鍵概念

文件夾結(jié)構(gòu) 描述
trucks contains src folder and pom.xml
src/main/webapp contains index.jsp and WEB-INF folder.
src/main/webapp/WEB-INF contains web.xml
src/main/resources it contains images/properties files .

POM.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
   http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.companyname.automobile</groupId>
   <artifactId>trucks</artifactId>
   <packaging>war</packaging>
   <version>1.0-SNAPSHOT</version>
   <name>trucks Maven Webapp</name>
   <url>http://maven.apache.org</url>
   <dependencies>
      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>3.8.1</version>
         <scope>test</scope>
      </dependency>
   </dependencies>
   <build>
      <finalName>trucks</finalName>
   </build>
</project>

Maven還創(chuàng)建了一個(gè)示例JSP源文件

打開 C: > MVN > trucks > src > main > webapp > 文件夾录择,你會(huì)看到index.jsp。

<html>
   <body>
      <h2>Hello World!</h2>
   </body>
</html>

構(gòu)建Web應(yīng)用程序

讓我們打開命令控制臺(tái)碗降,進(jìn)入到C:MVN rucks目錄并執(zhí)行以下命令mvn命令隘竭。

C:MVN   rucks>mvn clean package

Maven將開始建設(shè)該項(xiàng)目。

[INFO] Scanning for projects...
[INFO] -------------------------------------------------------------------
[INFO] Building trucks Maven Webapp
[INFO]    task-segment: [clean, package]
[INFO] -------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (Cp1252 actually) to 
copy filtered resources,i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] [compiler:compile {execution: default-compile}]
[INFO] No sources to compile
[INFO] [resources:testResources {execution: default-testResources}]
[WARNING] Using platform encoding (Cp1252 actually) to 
copy filtered resources,i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory 
C:MVN   ruckssrc    est
esources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] No sources to compile
[INFO] [surefire:test {execution: default-test}]
[INFO] No tests to run.
[INFO] [war:war {execution: default-war}]
[INFO] Packaging webapp
[INFO] Assembling webapp[trucks] in [C:MVN  rucks   arget   rucks]
[INFO] Processing war project
[INFO] Copying webapp resources[C:MVN   ruckssrcmainwebapp]
[INFO] Webapp assembled in[77 msecs]
[INFO] Building war: C:MVN  rucks   arget   rucks.war
[INFO] -------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] -------------------------------------------------------------------
[INFO] Total time: 3 seconds
[INFO] Finished at: Tue Jul 17 11:22:45 IST 2012
[INFO] Final Memory: 11M/85M
[INFO] -------------------------------------------------------------------

部署Web應(yīng)用程序

現(xiàn)在復(fù)制創(chuàng)建的trucks.war 到C: > MVN > trucks > target >文件夾到web服務(wù)器的webapp目錄下讼渊,然后重新啟動(dòng)Web服務(wù)器动看。

測試Web應(yīng)用程序

使用URL運(yùn)行Web應(yīng)用程序 : http://<server-name>:<port-number>/trucks/index.jsp

驗(yàn)證輸出。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末爪幻,一起剝皮案震驚了整個(gè)濱河市菱皆,隨后出現(xiàn)的幾起案子须误,更是在濱河造成了極大的恐慌,老刑警劉巖仇轻,帶你破解...
    沈念sama閱讀 212,222評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件京痢,死亡現(xiàn)場離奇詭異,居然都是意外死亡篷店,警方通過查閱死者的電腦和手機(jī)祭椰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,455評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疲陕,“玉大人方淤,你說我怎么就攤上這事√阊辏” “怎么了携茂?”我有些...
    開封第一講書人閱讀 157,720評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長窃爷。 經(jīng)常有香客問我邑蒋,道長,這世上最難降的妖魔是什么按厘? 我笑而不...
    開封第一講書人閱讀 56,568評論 1 284
  • 正文 為了忘掉前任医吊,我火速辦了婚禮,結(jié)果婚禮上逮京,老公的妹妹穿的比我還像新娘卿堂。我一直安慰自己,他們只是感情好懒棉,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,696評論 6 386
  • 文/花漫 我一把揭開白布草描。 她就那樣靜靜地躺著,像睡著了一般策严。 火紅的嫁衣襯著肌膚如雪穗慕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,879評論 1 290
  • 那天妻导,我揣著相機(jī)與錄音逛绵,去河邊找鬼。 笑死倔韭,一個(gè)胖子當(dāng)著我的面吹牛术浪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播寿酌,決...
    沈念sama閱讀 39,028評論 3 409
  • 文/蒼蘭香墨 我猛地睜開眼胰苏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了醇疼?” 一聲冷哼從身側(cè)響起硕并,我...
    開封第一講書人閱讀 37,773評論 0 268
  • 序言:老撾萬榮一對情侶失蹤法焰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后倔毙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體壶栋,經(jīng)...
    沈念sama閱讀 44,220評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,550評論 2 327
  • 正文 我和宋清朗相戀三年普监,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琉兜。...
    茶點(diǎn)故事閱讀 38,697評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡凯正,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出豌蟋,到底是詐尸還是另有隱情廊散,我是刑警寧澤,帶...
    沈念sama閱讀 34,360評論 4 332
  • 正文 年R本政府宣布梧疲,位于F島的核電站允睹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏幌氮。R本人自食惡果不足惜缭受,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,002評論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望该互。 院中可真熱鬧米者,春花似錦、人聲如沸宇智。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,782評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽随橘。三九已至喂分,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間机蔗,已是汗流浹背蒲祈。 一陣腳步聲響...
    開封第一講書人閱讀 32,010評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蜒车,地道東北人讳嘱。 一個(gè)月前我還...
    沈念sama閱讀 46,433評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像酿愧,于是被迫代替她去往敵國和親沥潭。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,587評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 1.簡介 之前的maven項(xiàng)目打包類型都為pom或者POM,今天講一下用maven構(gòu)建web應(yīng)用嬉挡,web應(yīng)用的打包...
    zlcook閱讀 3,375評論 0 12
  • 太久沒有使用java有點(diǎn)生疏了钝鸽,所以特意使用eclipse汇恤,通過maven 配置一下java web工程(本文僅用...
    yubang閱讀 1,103評論 1 2
  • maven常用命令介紹 這里主要是在eclipse中使用maven,因此只使用到了一部分命令拔恰,整理下來方便以后查閱...
    菜凱閱讀 1,073評論 0 2
  • 引言 很多公司里的web項(xiàng)目是都是用maven管理因谎,maven可以非常方便的管理項(xiàng)目的各種依賴,確實(shí)很好用颜懊,但是對...
    燃燒杯閱讀 845評論 1 2
  • Maven編譯代碼的相關(guān)命令 第一财岔、main目錄下的主代碼編寫完畢后,使用Maven進(jìn)行編譯河爹,在項(xiàng)目根目錄下運(yùn)行命...
    加油小杜閱讀 1,176評論 0 2