>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring》、《Spring Cloud Alibaba微服务开发零基础入门到实操》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 26589 个阅读者 刷新本主题
 * 贴子主题:  用Maven管理Web 应用 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2020-01-31 00:33:32     消息  查看  搜索  好友  邮件  复制  引用

  

用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: [url=] (aggregator-style)

[INFO] -------------------------------------------------------------------

[INFO] Preparing archetype:generate

[INFO] No goals needed for project - skipping

[INFO] [url=]

[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 项目,查看项目的目录结构:

      点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

      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 = " 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 >

   接下来我们打开 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 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 应用:

         http://localhost:8180/trucks/index.jsp

     验证结果:

                 点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小







程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 admin 在 2020-02-01 16:04:18 重新编辑]
  Java面向对象编程-->集合(上)
  JavaWeb开发-->JavaWeb应用入门(Ⅱ)
  JSP与Hibernate开发-->持久化层的映射类型
  Java网络编程-->用Swing组件展示HTML文档
  精通Spring-->
  Vue3开发-->绑定CSS样式
  好消息,《Spring Cloud Alibaba微服务开发零基础入门到实操...
  使用IntelliJ IDEA开发Maven HelloWorld
  VSCode插件的高级用法
  Redis夺命连环11问
  谈谈响应式编程
  Spring MVC SSE服务器端推送
  Spring MVC异常处理机制
  Spring MVC和前后端分离的RESTFul框架
  Spring Data JPA详解
  POJO与JavaBean与SpringBean的概念与区别
  Spring Cloud构建微服务架构的断路器
  Spring Cloud与Dubbo的完美融合之手「Spring Cloud Alibaba
  写给新手的Spring Cloud的微服务入门教程
  网红框架SpringBoot2.x之定制参数浅析
  从响应式编程到“好莱坞”
  更多...
 IPIP: 已设置保密
楼主      
1页 1条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。