笔记:Maven Web项目
- 生成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项目的更多相关文章
- Eclipse创建Maven Web项目 + 测试覆盖率 + 常见问题(2015.07.14——湛耀)
Eclipse创建Maven web项目: 到此,并没有创建好,接下来一步步解决问题: 问题:无法创建src/main/java目录 解决: 右键项目选择[properties] 点击[OK] 问题: ...
- Eclipse导入git上的maven web项目 部署 - lpshou
http://www.tuicool.com/articles/fqm2Qf 推酷 文章 微博 主题 站点 活动 应用 周刊 登录 Eclipse导入git上的maven web项目 部署 - ...
- IntelliJ IDEA使用(一):创建maven web项目
在公司用eclipse开发maven web项目后,慢慢开始明白大家的那句话"受不了eclipse".的确,在开发大型的web项目,尤其是maven构建的项目,eclipse很不友 ...
- eclipse 创建maven web项目
参考:http://www.cnblogs.com/hongwz/p/5456616.html eclipse 创建maven web项目
- myeclipse下构建maven web项目
首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 war的形式 由于packing是war包,那么下面 ...
- Eclipse 搭建 Maven Web项目
第一步:安装JDK: 第二步:安装Eclipse: 第三步:安装tomcat7: 第四步:安装maven插件: 4.1 下载maven:http://maven.apache.org/download ...
- eclipse创建maven web项目
eclipse创建maven web项目: 1.安装eclipse maven插件 2.新建maven project选择webapp模板. 3.改造为maven文档结构. 4.添加项目的JAVAEE ...
- IDEA 创建Maven Web项目(图文版)
前言:IDEA作为一款广泛使用的开发工具,无论是后台人员,还是前段工作者,都能在它上面发现它的魅力. IDEA提供了诸多项目模板,今天就以创建Maven Web项目作为示例,和大家一起分享: 第一步: ...
- Maven-搭建maven web项目
点击Eclipse菜单File->New->Other->Maven->Maven Project 在选择maven-archetype的界面进行如下操作:(其他选项基本与创建 ...
- eclipse构建及运行maven web项目
1:环境 eclipse indigo, JDK1.6, maven 3.2.1, tomcat7.0.42 2:安装eclipse maven插件 m2eclipse 第一种方法:从网上下载m2ec ...
随机推荐
- hadoop配置遇到问题的解决
1. ssh localhost: 不能登陆:将错误提示中的文件全部删除.原因:登陆过远程主机 2. 问题: 伪分布式datanode启动不了:在datanode的log日志文件出现以下错误提示: ...
- linux dhcp 设置路由及主机名
自动获取ipDHCP方式获取ip:dhclient [网络接口]释放通过DHCP获取的ip地址:dhclient -r [网络接口]查看网络接口 ifconfig -a(列出所有接口含禁用的) eth ...
- 网络基础tcp/ip协议四
网络层的功能: 定义了基于ip协议的逻辑地址. 链接不同的媒介类型. 选择数据通过网络的最佳路劲. 数据包格式: 优先级与服务类型(8)位:优先级与服务类型 标识符,标志,段偏移量:这几个字用来对数据 ...
- ORACLE透明网关访问SQL Server配置总结
透明网关概念 ORACLE透明网关(Oracle Transparent Gateway)可以解决ORACLE数据库和非ORACLE数据库交互数据的需求.在一个异构的分布式环境中,通过ORACLE ...
- Java Web项目(Extjs)报错一
1.Java Web(Extjs)项目报错一 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -no ...
- g++基本用法
用法:g++[选项]文件... g++编译流程: main.cxx #include <iostream> using namespace std; int main(void) { co ...
- oracle的下载地址以及步骤
一.下载地址 1.oracle官网:https://www.oracle.com/cn/index.html 2. 点击右上角先选择语音,然后注册一个新账户,如果有oracle直接登录就可以 3.点击 ...
- 深度学习——卷积神经网络 的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)
一.CNN卷积神经网络的经典网络综述 下面图片参照博客:http://blog.csdn.net/cyh_24/article/details/51440344 二.LeNet-5网络 输入尺寸:32 ...
- JAVA几种缓存技术介绍说明
OSCache OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案. OSCache有以下特点: 我创建了一个群,群里不定期分享技术 ...
- BZOJ1001 狼抓兔子
最小割 代码 # include <bits/stdc++.h> # define IL inline # define RG register # define Fill(a, b) m ...