• 生成Web项目模块

    生成Web项目模板和生成其他项目的模板一致,差别是指定模板的类型,执行命令如下:

    mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp

    命令结果:

    输入 groupId、artifactId、version后 Maven 会生成 Web项目结构

  • 项目POM配置

    Web和其他项目的差别就是在打包格式,普通项目的打包格式为 JAR,而Web项目的打包格式为WAR,配置差异如下:

    <packaging>war</packaging>

  • 项目目录

目录路径

说明

src/main/java

Java 源代码目录

src/main/resources

资源目录

src/main/filters

资源过滤文件目录

src/main/config

配置文件目录跟

src/main/webapp

Web 站点目录,必须WEB-INF子目录及WEB-INF子目录需要包含 web.xml配置文件

src/test/java

测试代码目录

src/test/resources

测试资源目录

src/test/filters

测试资源过滤文件目录

pom.xml

Maven2 配置文件

  • 打包WAR名称配置

    默认打包WAR文件名称的设定规则值为 ${project.artifactId}-${project.version},生成的文件名过长,在部署后需要输入冗长的地址,因此我们需要名字更为简洁的war包,可以配置 finalName 元素来修改,配置如下:

    <build>

    <finalName>drsoft</finalName>

    </build>

    执行打包命令:

    mvn clean package

    命令结果:

  • 自动部署至本地Web容器

    可以使用Maven的插件来完成自动部署,Cargo 插件支持二种本地部署的方式,分别为 standalone 模式和existing 模式,在 standalone模式中,Cargo会从Web容器的安装目录复制一份配置到用户指定的目录,然后在此基础上部署应用,每次重新构建将清除目录;existing模式则用户需要指定现有的Web容器配置目录,然后Cargo会直接使用这些配置并将应用部署其对应位置。

    • existing模式

      <plugin>

          <groupId>org.codehaus.cargo</groupId>

          <artifactId>cargo-maven2-plugin</artifactId>

          <version>1.6.2</version>

          <configuration>

              <container>

                  <!-- 容器唯一标识 -->

                  <containerId>tomcat8x</containerId>

                  <!-- Tomcat 安装路径 -->

                  <home>D:\Developers\apache-tomcat-8.0.39</home>

              </container>

              <configuration>

                  <!-- 部署类型 -->

                  <type>existing</type>

                  <!-- Tomcat 安装路径 -->

                  <home>D:\Developers\apache-tomcat-8.0.39</home>

              </configuration>

          </configuration>

      </plugin>

    • standalone模式

      <plugin>

          <groupId>org.codehaus.cargo</groupId>

          <artifactId>cargo-maven2-plugin</artifactId>

          <version>1.6.2</version>

          <configuration>

              <container>

                  <!-- 容器唯一标识 -->

                  <containerId>tomcat8x</containerId>

                  <!-- Tomcat 安装路径 -->

                  <home>D:\Developers\apache-tomcat-8.0.39</home>

              </container>

              <configuration>

                  <!-- 部署类型 -->

                  <type>standalone</type>

                  <!-- Tomcat 安装路径 -->

                  <home>${project.build.directory}/tomcat8x</home>

              </configuration>

          </configuration>

      </plugin>

    • 常用命令

命令

说明

mvn cargo:start

启动容器,生命周期依赖于maven实例的生命周期,maven构建成功或者失败之后,cargo插件的生命周期也自动停止了

mvn cargo:run

启动容器,如果项目的类型为JavaEE,则会部署到容器

mvn cargo:stop

停止容器

mvn cargo:restart

停止并重新启动容器

mvn cargo:redeploy

部署到远程服务器,必须保证 Tomcat 是运行状态

  • 自动部署到远程Web容器

    部署到Tomcat服务器,需要使用
    tomcat7-maven-plugin
    插件来实现,在执行部署时,必须启动
    Tomcat,配置信息如下:

    • Tomcat
      的用户配置:


      Tomcat
      的安装目录下的
      conf/tomcat-users.xml
      配置文件,增加用户和权限配置:

      <?xml version='1.0' encoding='utf-8'?>

      <tomcat-users
      xmlns="http://tomcat.apache.org/xml"

                                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                                  xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"

                                  version="1.0">

       
       

          <role
      rolename="manager-gui"/>

          <role
      rolename="manager-script"/>

          <user
      username="tomcat"
      password="liyong"
      roles="manager-gui,manager-script"/>

      </tomcat-users>

    • 项目POM配置:

      <plugin>

          <groupId>org.apache.tomcat.maven</groupId>

      <!-- 支持 Tomcat7 和 Tomcat 8 -->

          <artifactId>tomcat7-maven-plugin</artifactId>

          <version>2.2</version>

          <configuration>

      <!--
      Tomcat 的管理地址 -->

              <url>http://localhost:8080/manager/text</url>

              <server>tomcat8x</server>

          </configuration>

      </plugin>

    • 增加Tomcat服务器登录信息:

      <server>

            <id>tomcat8x</id>

            <username>tomcat</username>

            <password>liyong</password>

      </server>

    • 执行命令:

命令

说明

mvn tomcat7:deploy

执行第一次部署

mvn tomcat7:redeploy

执行覆盖部署

注意:查看插件所有的命令可以执行 mvn help:decribe -Dplugin=org.apache.tomcat.maven:tomcat7-maven-plugin

笔记:Maven Web项目的更多相关文章

  1. Eclipse创建Maven Web项目 + 测试覆盖率 + 常见问题(2015.07.14——湛耀)

    Eclipse创建Maven web项目: 到此,并没有创建好,接下来一步步解决问题: 问题:无法创建src/main/java目录 解决: 右键项目选择[properties] 点击[OK] 问题: ...

  2. Eclipse导入git上的maven web项目 部署 - lpshou

    http://www.tuicool.com/articles/fqm2Qf   推酷 文章 微博 主题 站点 活动 应用 周刊 登录   Eclipse导入git上的maven web项目 部署 - ...

  3. IntelliJ IDEA使用(一):创建maven web项目

    在公司用eclipse开发maven web项目后,慢慢开始明白大家的那句话"受不了eclipse".的确,在开发大型的web项目,尤其是maven构建的项目,eclipse很不友 ...

  4. eclipse 创建maven web项目

    参考:http://www.cnblogs.com/hongwz/p/5456616.html eclipse 创建maven web项目

  5. myeclipse下构建maven web项目

    首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 war的形式 由于packing是war包,那么下面 ...

  6. Eclipse 搭建 Maven Web项目

    第一步:安装JDK: 第二步:安装Eclipse: 第三步:安装tomcat7: 第四步:安装maven插件: 4.1 下载maven:http://maven.apache.org/download ...

  7. eclipse创建maven web项目

    eclipse创建maven web项目: 1.安装eclipse maven插件 2.新建maven project选择webapp模板. 3.改造为maven文档结构. 4.添加项目的JAVAEE ...

  8. IDEA 创建Maven Web项目(图文版)

    前言:IDEA作为一款广泛使用的开发工具,无论是后台人员,还是前段工作者,都能在它上面发现它的魅力. IDEA提供了诸多项目模板,今天就以创建Maven Web项目作为示例,和大家一起分享: 第一步: ...

  9. Maven-搭建maven web项目

    点击Eclipse菜单File->New->Other->Maven->Maven Project 在选择maven-archetype的界面进行如下操作:(其他选项基本与创建 ...

  10. eclipse构建及运行maven web项目

    1:环境 eclipse indigo, JDK1.6, maven 3.2.1, tomcat7.0.42 2:安装eclipse maven插件 m2eclipse 第一种方法:从网上下载m2ec ...

随机推荐

  1. 后台模拟请求 HttpHelper 序列化 MD5 时间戳

    使用场景 C# 服务器后台调用其他服务器并处理 场景 /// <summary> /// 获取用户信息 /// </summary> /// <param name=&q ...

  2. win10如何快速扫描-上海IT外包

     第一步,点击Windows图标  第二步点击所有应用  第三步点击Windows附件  最后点击Windows传真和扫描就可以了 上海IT33_专业的it外包一站式服务商,为多家企业提供it ...

  3. Web渗透测试(sql注入 access,mssql,mysql,oracle,)

    Access数据库注入: access数据库由微软发布的关系型数据库(小型的),安全性差. access数据库后缀名位*.mdb, asp中连接字符串应用-- "Driver={micros ...

  4. 笔记+R︱信用风险建模中神经网络激活函数与感知器简述

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本笔记源于CDA-DSC课程,由常国珍老师主讲 ...

  5. ucos-ii的任务调度机制

    1.在ucos-ii中,有这么几张表来管理任务. A.OSTCBPrioTbl[],其结构为OS_TCB指针的数组,其元素个数为64, 每一个元素对应一个任务的优先级,ucos-ii最多可以有64个任 ...

  6. CSS精心整理的面试题

    CSS精心整理的面试题 1.设置边框的样式用border-style实现,设置边框的颜色用border-color实现 2.CSS的语法由选择器.属性.值三部分组成 3.设置一个div的最小宽度为50 ...

  7. OpenStack_I版 7.Cinder部署

    Cinder提供块存储   Cinder安装     创建相关的目录           创建数据库   修改Cinder配置文件       同步数据库   keystone相关配置         ...

  8. 关于vue-axios的url地址统一设置

    var instance = axios.create({ baseURL: 'http://qqk.com/Wechat/', headers: { 'Content-Type': 'applica ...

  9. Python编程核心内容之一——Function(函数)

    Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ 截至上篇随笔<Python数据结构之四--set(集合)>,Python基础知识也介绍好了.接下来准备干 ...

  10. 【BZOJ2342】双倍回文(回文树)

    [BZOJ2342]双倍回文(回文树) 题面 BZOJ 题解 构建出回文树之后 在\(fail\)树上进行\(dp\) 如果一个点代表的回文串长度为\(4\)的倍数 并且存在长度为它的一半的回文后缀 ...