【第十七篇】- Maven Web 應用之Spring Cloud直播商城 b2b2c電子商務技術總結
Maven Web 應用
本章節我們將學習如何使用版本控制系統 Maven 來管理一個基於 web 的專案,如何建立、構建、部署已經執行一個 web 應用。
建立 Web 應用
我們可以使用 maven-archetype-webapp 外掛來建立一個簡單的 Java web 應用。
開啟命令控制檯,進入到 C:\MVN 資料夾,然後執行以下的 mvn 命令:
C:\MVN>mvn archetype:generate -DgroupId=com.companyname.automobile -DartifactId=trucks -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
執行完後 Maven 將開始處理,並且建立完整的於Java Web 專案的目錄結構。
[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\trucks[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] -------------------------------------------------------------------
執行完後,我們可以在 C:/MVN 資料夾下看到 trucks 專案,檢視專案的目錄結構:
Maven 目錄結構是標準的,各個目錄作用如下表所示:
資料夾結構 | 描述 |
---|---|
trucks | 包含 src 資料夾和 pom.xml 檔案。 |
src/main/webapp | 包含 index.jsp 檔案和 WEB-INF 資料夾. |
src/main/webapp/WEB-INF | 包含 web.xml 檔案 |
src/main/resources | 包含圖片、properties資原始檔。 |
pom.xml 檔案程式碼如下:
<
project
xmlns
=
"
"
xmlns:xsi
=
"
"
xsi:schemaLocation
=
"
"
>
<
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
>
</
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
>
接下來我們開啟 C:\ > MVN > trucks > src > main > webapp > 資料夾,可以看到一個已經建立好的 index.jsp 檔案,程式碼如下:
<
html
>
<
body
>
<
h2
>
Hello World!
</
h2
>
</
body
>
</
html
>
構建 Web 應用
開啟命令控制檯,進入 C:\MVN\trucks 目錄,然後執行下面的以下 mvn 命令:
C:\MVN\trucks>mvn clean package
Maven 將開始構建專案:
[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\trucks\src\test\resources[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\trucks\target\trucks][INFO] Processing war project[INFO] Copying webapp resources[C:\MVN\trucks\src\main\webapp][INFO] Webapp assembled in[77 msecs][INFO] Building war: C:\MVN\trucks\target\trucks.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 應用
開啟 C:\ < MVN < trucks < target < 資料夾,找到 trucks.war 檔案,並複製到你的 web 伺服器的 web 應用目錄,然後重啟 web 伺服器。
測試 Web 應用
訪問以下 URL 執行 web 應用:
驗證結果:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70006413/viewspace-2790970/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Maven POM之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十八篇】- Maven Eclipse之Spring Cloud直播商城 b2b2c電子商務技術總結MavenEclipseSpringCloud
- 【第十九篇】- Maven NetBeans之Spring Cloud直播商城 b2b2c電子商務技術總結MavenBeanSpringCloud
- [第十七篇]——Docker 安裝 Nginx之Spring Cloud直播商城 b2b2c電子商務技術總結DockerNginxSpringCloud
- 【第七篇】- Maven 外掛之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十三篇】- Maven 快照(SNAPSHOT)之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十一篇】- Maven 專案模板之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十二篇】- Maven 專案文件之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十五篇】- Maven 依賴管理之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- Maven 環境配置之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十六篇】- Maven 自動化部署之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十篇】- Maven 引入外部依賴之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十四篇】- Maven 自動化構建之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第七篇】- Git 分支管理之Spring Cloud直播商城 b2b2c電子商務技術總結GitSpringCloud
- [第七篇]——Docker Hello World之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- [第九篇]——Docker 映象使用之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- 【第十一篇】- Git Gitee之Spring Cloud直播商城 b2b2c電子商務技術總結GiteeSpringCloud
- [第十二篇]——Docker Dockerfile之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- [第十三篇]——Docker Compose之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- [第十四篇]——Docker Machine之Spring Cloud直播商城 b2b2c電子商務技術總結DockerMacSpringCloud
- Maven 構建生命週期之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- Maven 構建配置檔案之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第三篇】- Maven POM之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第二十篇】-Maven IntelliJ之Spring Cloud直播商城 b2b2c電子商務技術總結MavenIntelliJSpringCloud
- Maven 構建 & 專案測試之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第六篇】- Maven 倉庫之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- [第十一篇]——Docker 倉庫管理之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- [第十五篇]——Swarm 叢集管理之Spring Cloud直播商城 b2b2c電子商務技術總結SwarmSpringCloud
- [第十六篇]——Docker 安裝 CentOS之Spring Cloud直播商城 b2b2c電子商務技術總結DockerCentOSSpringCloud
- [第十九篇]——Docker 安裝 MySQL之Spring Cloud直播商城 b2b2c電子商務技術總結DockerMySqlSpringCloud
- 【第二篇】- Maven 環境配置之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第一篇】- Maven 系列教程之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十二篇】- Git 伺服器搭建之Spring Cloud直播商城 b2b2c電子商務技術總結Git伺服器SpringCloud
- [第十篇]——Docker 容器連線之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- [第十八篇]——Docker 安裝 Node.js之Spring Cloud直播商城 b2b2c電子商務技術總結DockerNode.jsSpringCloud
- 【第八篇】- Maven 構建 Java 專案之Spring Cloud直播商城 b2b2c電子商務技術總結MavenJavaSpringCloud
- 【第五篇】-Maven 構建配置檔案之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第四篇】- Maven 構建生命週期之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud