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机制,,,)


注:由于配置的环境、依赖包版本的不同,以上介绍的方法可能有所不同)

最新文章

  1. Android http超时选项的测试
  2. linux: shell常用指令归纳
  3. ACE - Reactor实现I/O,Dispatch,Service三层完整服务器(完结)
  4. Floyd-Warshall算法,简称Floyd算法
  5. linux 命令行发送邮件及附件
  6. QT带OpenGL与不带的区别,QT5是一个伟大的框架,短时期内根本不会有替代者
  7. HJA的异或值
  8. 腾讯TT浏览器应用程序发生异常(0xc0000409) 位置为0x027a1f7f 的解决办法
  9. hdu 1099 Lottery
  10. koahub.js 0.09 发布,新增钩子机制
  11. OpenGL ES2.0贴图
  12. android studio——替换全局的某个字符串
  13. 【转载】IP地址和子网划分学习笔记之《子网掩码详解》
  14. Java基础之多线程框架
  15. setState()之后使用state的问题
  16. webapi返回泛型给easyui
  17. 【转载】LCT
  18. day03-变量
  19. C++并发编程之std::async(), std::future, std::promise, std::packaged_task
  20. 前端开发-3-HTML-body标签

热门文章

  1. What Is React?--MVC
  2. 对ABBYY FineReader功能的探究
  3. OpenCV 学习笔记(2) 使用鼠标绘制矩形并截取和保存矩形区域图像
  4. 洛谷 P4158 [SCOI2009]粉刷匠 题解
  5. Presto Infrastructure at Lyft
  6. 14-网页,网站,微信公众号基础入门(网页版MQTT,小试牛刀)
  7. python 判断操作系统以及操作系统版本号
  8. Linux:搭建GitLab
  9. mac系统InetAddress.getLocalHost().getHostAddress() 很慢
  10. Centos 7.x卸载ibus黑屏修复及fcitx搜狗拼音安装方法