>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring》、《Spring Cloud Alibaba微服务开发零基础入门到实操》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 26588 个阅读者 刷新本主题
 * 贴子主题:  用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面向对象编程-->Java常用类(上)
  JavaWeb开发-->JavaWeb应用入门(Ⅰ)
  JSP与Hibernate开发-->Spring、JPA与Hibernate的整合
  Java网络编程-->用Swing组件展示HTML文档
  精通Spring-->通过Vuex进行状态管理
  Vue3开发-->计算属性和数据监听
  Netty初识
  git 仓库常用指令
  阿里巴巴为什么能抗住90秒100亿?看完这篇你就明白了!
  SpringMVC下的JUnit4单元测试
  重新理解响应式编程
  孙卫琴系列Java书籍的QQ交流读者群
  Spring AOP的基本概念和注解
  使用Spring MVC处理404错误的方法
  【项目实践】后端接口统一规范的同时,如何优雅地扩展规范
  从零搭建一个基于 ELK 的日志、指标收集与监控系统
  微服务架构的优点和缺点
  如何实现Git服务间同步
  【Web服务开发】基于Java开发代驾定位系统,2天完成脚手架
  一睹Web服务真面目,有商业价值的Web服务是这样的
  使用idea和gradle编译spring5源码
  更多...
 IPIP: 已设置保密
楼主      
1页 1条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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