使用tomcat7-maven-plugin
2019-01-0714:16:44
功能:
(使用maven中的tomcat插件,就可以将tomcat集成到项目中,效果就是:在不同平台中无需配置tomcat就可以直接运行web)
地址:
tomcat官网maven插件:http://tomcat.apache.org/maven-plugin.html
使用方法:
(1)在maven项目的pom.xml中添加插件依赖:
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/mozi</path>
<port>8080</port>
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>
</plugins>
</pluginManagement>
(解释:
path: 当前web项目的url访问入口,即http://localhost:8080/mozi/ ; 若设置为<path>/</path> 则访问url为:http://localhost:8080/
port:访问的端口号
uriEncoding: uri的访问编码)
(2)等待插件加载完后,在就可以使用maven命令运行tomcat7了,这里用的是idea:
(maven命令:mvn tomcat7:run )
(3)启动结果:
(4)测试: 在浏览器中输入http://localhost:8080/mozi , 将访问到项目mozi的index.jsp
tomcat7-maven-plugin的其他命令:
tomcat7:run --启动嵌入式tomcat ,并运行当前项目
tomcat7:deploy --部署一个web war包
tomcat7:reload --重新加载web war包
tomcat7:start --启动tomcat
tomcat7:stop --停止tomcat
tomcat7:undeploy --停止一个war包
遇到过的坑:
(1)启动tomcat7时异常:java.lang.ClassNotFoundException: org.apache.catalina.deploy.ServletDef
在pom.xml文件中,添加tomcat7-maven-plugin后不要添加tomcat7的其他依赖,如果有就去掉。如下面是tomcat7的包依赖,即<dependency>和<plugin>选其一:
<dependency>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</dependency>
(否则,在启动时tomcat会在tomcat/lib 下加载包,但在嵌入式tomcat目录中没有lib)
(2)启动时:java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter
在项目目录下 target/tomcat/conf/context.xml 添加:
<Context> <Loader delegate="true" /></Context>
(关于tomcat的delegate机制,,,)
注:由于配置的环境、依赖包版本的不同,以上介绍的方法可能有所不同)
最新文章
- Android http超时选项的测试
- linux: shell常用指令归纳
- ACE - Reactor实现I/O,Dispatch,Service三层完整服务器(完结)
- Floyd-Warshall算法,简称Floyd算法
- linux 命令行发送邮件及附件
- QT带OpenGL与不带的区别,QT5是一个伟大的框架,短时期内根本不会有替代者
- HJA的异或值
- 腾讯TT浏览器应用程序发生异常(0xc0000409) 位置为0x027a1f7f 的解决办法
- hdu 1099 Lottery
- koahub.js 0.09 发布,新增钩子机制
- OpenGL ES2.0贴图
- android studio——替换全局的某个字符串
- 【转载】IP地址和子网划分学习笔记之《子网掩码详解》
- Java基础之多线程框架
- setState()之后使用state的问题
- webapi返回泛型给easyui
- 【转载】LCT
- day03-变量
- C++并发编程之std::async(), std::future, std::promise, std::packaged_task
- 前端开发-3-HTML-body标签
热门文章
- What Is React?--MVC
- 对ABBYY FineReader功能的探究
- OpenCV 学习笔记(2) 使用鼠标绘制矩形并截取和保存矩形区域图像
- 洛谷 P4158 [SCOI2009]粉刷匠 题解
- Presto Infrastructure at Lyft
- 14-网页,网站,微信公众号基础入门(网页版MQTT,小试牛刀)
- python 判断操作系统以及操作系统版本号
- Linux:搭建GitLab
- mac系统InetAddress.getLocalHost().getHostAddress() 很慢
- Centos 7.x卸载ibus黑屏修复及fcitx搜狗拼音安装方法