课程表

Maven课程

工具箱
速查手册

Maven Web 应用

当前位置:免费教程 » 软件/图像 » Maven

本教程将指导你如何使用 Maven 版本控制系统来管理一个基于 Web 的工程。在此,你将学习到如何创建/构建/部署以及运行 Web 应用程序:

创建 Web 应用

建立一个简单的 Java web 应用,我们可以使用 maven-archetype-webapp 插件。首先我们打开命令控制台,进入 C:\MVN 目录并且执行以下的 mvn 命令。

  1. C:\MVN>mvn archetype:generate
  2. -DgroupId=com.companyname.automobile
  3. -DartifactId=trucks
  4. -DarchetypeArtifactId=maven-archetype-webapp
  5. -DinteractiveMode=false

Maven 将开始处理并且将创建完整的基于 Web 的 java 应用工程结构。

  1. [INFO] Scanning for projects...
  2. [INFO] Searching repository for plugin with prefix: 'archetype'.
  3. [INFO] -------------------------------------------------------------------
  4. [INFO] Building Maven Default Project
  5. [INFO] task-segment: [archetype:generate] (aggregator-style)
  6. [INFO] -------------------------------------------------------------------
  7. [INFO] Preparing archetype:generate
  8. [INFO] No goals needed for project - skipping
  9. [INFO] [archetype:generate {execution: default-cli}]
  10. [INFO] Generating project in Batch mode
  11. [INFO] --------------------------------------------------------------------
  12. [INFO] Using following parameters for creating project
  13. from Old (1.x) Archetype: maven-archetype-webapp:1.0
  14. [INFO] --------------------------------------------------------------------
  15. [INFO] Parameter: groupId, Value: com.companyname.automobile
  16. [INFO] Parameter: packageName, Value: com.companyname.automobile
  17. [INFO] Parameter: package, Value: com.companyname.automobile
  18. [INFO] Parameter: artifactId, Value: trucks
  19. [INFO] Parameter: basedir, Value: C:\MVN
  20. [INFO] Parameter: version, Value: 1.0-SNAPSHOT
  21. [INFO] project created from Old (1.x) Archetype in dir: C:\MVN\trucks
  22. [INFO] -------------------------------------------------------------------
  23. [INFO] BUILD SUCCESSFUL
  24. [INFO] -------------------------------------------------------------------
  25. [INFO] Total time: 16 seconds
  26. [INFO] Finished at: Tue Jul 17 11:00:00 IST 2012
  27. [INFO] Final Memory: 20M/89M
  28. [INFO] -------------------------------------------------------------------

现在进入 C:/MVN 目录,你将看到一个名为 trucks(由 artifactld 指定)的 java 应用工程。

Java web application project structure

Maven 使用一个标准的目录架构,如上示例,我们可以理解以下的关键概念:

文件夹结构 描述
trucks 包含 src 文件夹和 pom.xml
src/main/webapp 包含 index.jsp 和 WEB-INF 文件夹.
src/main/webapp/WEB-INF 包含 web.xml
src/main/resources 包含 images / properties 文件。

POM.xml

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  4. http://maven.apache.org/maven-v4_0_0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.companyname.automobile</groupId>
  7. <artifactId>trucks</artifactId>
  8. <packaging>war</packaging>
  9. <version>1.0-SNAPSHOT</version>
  10. <name>trucks Maven Webapp</name>
  11. <url>http://maven.apache.org</url>
  12. <dependencies>
  13. <dependency>
  14. <groupId>junit</groupId>
  15. <artifactId>junit</artifactId>
  16. <version>3.8.1</version>
  17. <scope>test</scope>
  18. </dependency>
  19. </dependencies>
  20. <build>
  21. <finalName>trucks</finalName>
  22. </build>
  23. </project>

如果仔细观察,Maven 还创建了一个示例 JSP 的源文件。

打开 C:\ > MVN > trucks > src > main > webapp > 文件夹, 你将看到 index.jsp.

  1. <html>
  2. <body>
  3. <h2>Hello World!</h2>
  4. </body>
  5. </html>

Build Web Application

打开终端,进入 C:\MVN\trucks 目录,然后执行如下 mvn 命令.

  1. C:\MVN\trucks>mvn clean package

Maven 将会开始构建此工程,日志输出如下:

  1. [INFO] Scanning for projects...
  2. [INFO] -------------------------------------------------------------------
  3. [INFO] Building trucks Maven Webapp
  4. [INFO] task-segment: [clean, package]
  5. [INFO] -------------------------------------------------------------------
  6. [INFO] [clean:clean {execution: default-clean}]
  7. [INFO] [resources:resources {execution: default-resources}]
  8. [WARNING] Using platform encoding (Cp1252 actually) to
  9. copy filtered resources,i.e. build is platform dependent!
  10. [INFO] Copying 0 resource
  11. [INFO] [compiler:compile {execution: default-compile}]
  12. [INFO] No sources to compile
  13. [INFO] [resources:testResources {execution: default-testResources}]
  14. [WARNING] Using platform encoding (Cp1252 actually) to
  15. copy filtered resources,i.e. build is platform dependent!
  16. [INFO] skip non existing resourceDirectory
  17. C:\MVN\trucks\src\test\resources
  18. [INFO] [compiler:testCompile {execution: default-testCompile}]
  19. [INFO] No sources to compile
  20. [INFO] [surefire:test {execution: default-test}]
  21. [INFO] No tests to run.
  22. [INFO] [war:war {execution: default-war}]
  23. [INFO] Packaging webapp
  24. [INFO] Assembling webapp[trucks] in [C:\MVN\trucks\target\trucks]
  25. [INFO] Processing war project
  26. [INFO] Copying webapp resources[C:\MVN\trucks\src\main\webapp]
  27. [INFO] Webapp assembled in[77 msecs]
  28. [INFO] Building war: C:\MVN\trucks\target\trucks.war
  29. [INFO] -------------------------------------------------------------------
  30. [INFO] BUILD SUCCESSFUL
  31. [INFO] -------------------------------------------------------------------
  32. [INFO] Total time: 3 seconds
  33. [INFO] Finished at: Tue Jul 17 11:22:45 IST 2012
  34. [INFO] Final Memory: 11M/85M
  35. [INFO] -------------------------------------------------------------------

部署 Web 应用

现在拷贝在 C:\ > MVN > trucks > target > 文件夹下的 trucks.war 到你的 web 服务器的 webapp 目录下,并且重启 web 服务。

测试 Web 应用

使用 URL: http://\<server-name>:\<port-number>/trucks/index.jsp 来运行你的 Web 应用。

验证输出结果:

web page

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号