`
vivus
  • 浏览: 113617 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

maven集成tomcat进行web应用测试

阅读更多
1、环境介绍
maven:apache-maven-3.0.3
tomcat:apache-tomcat-6.0.32
jdk:jdk1.5.0_11
eclipse:3.7.2

2、配置tomcat-maven-plugin
在pom.xml中加入如下配置
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>tomcat-maven-plugin</artifactId>
				<version>1.1</version>
				<configuration>
					<server>tomcat-6.0.32</server>
					<url>http://127.0.0.1:8080/manager</url>
					<uriEncoding>${encoding}</uriEncoding>
					<warSourceDirectory>WebContent</warSourceDirectory>
				</configuration>
			</plugin>


说明:
  • tomcat-maven-plugin现在已拆分成tomcat7-maven-plugin和tomcat6-maven-plugin了,而groupId也由org.codehaus.mojo改为org.apache.tomcat.maven。
  • 详情可参考:http://tomcat.apache.org/maven-plugin-2.0/


3、集成tomcat测试的方法
方法一(推荐):
运行mvn tomcat:run命令,启动内嵌的tomcat进行测试
1) 可在命令行直接运行mvn tomcat:run命令
2) 如果使用eclipse,可通过maven的eclipse插件m2e新增一个maven build运行tomcat:run命令,如图:




方法二:
运行mvn tomcat:redeploy命令,将web应用发布到外部已启动的tomcat进行测试
1) 在maven的文件里加入如下设置:
				<server>
					<id>tomcat-6.0.32</id>
					<username>tomcat</username>
					<password>tomcat</password>
				</server>

2) 在tomcat/conf的tomcat-users.xml加入如下配置:
	<role rolename="manager-gui"/>

	<role rolename="manager-script"/>

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

3) 启动tomcat
4) 类似方法一那样执行tomcat:redeploy命令

方法三(不推荐):
增加eclipse web工程支持,利用传统的eclipse集成tomcat测试的方法进行测试。此方法其实跟maven和tomcat-maven-plugin无关,发布到tomcat下测试的war包不一定跟maven构建的包一致,因此不推荐。
1) 在工程属性里的Project Facets里勾上Dynamic Web Module,如下图:



2) 在Deployment Assembly增加将maven依赖发布到“WEB-INF/lib”下,并将“/src/test/java”和“/src/test/resources”两项删除(因为maven打包时是不会打包这两部分内容的)



3) 这样便可以利用传统的eclipse集成tomcat测试的方法进行测试了,如下图:



补充:
如果是多模块工程,只需在父工程下运行tomcat-maven-plugin的goal即可。如:D:\<父工程目录>>tomcat:run。tomcat-maven-plugin会自动检测和替换相关的依赖。
NOTE If you have a multi module Maven projects and use Maven3, you don't need to install all modules before use the run goal, just use tomcat6/7:run from the root module and the plugin will auto detect build output directory from various modules and replace dependencies with those directories in the webapp classloader.


更多关于tomcat-maven-plugin的使用,请参考:
http://mojo.codehaus.org/tomcat-maven-plugin/index.html
http://tomcat.apache.org/maven-plugin-2/index.html
  • 大小: 85.8 KB
  • 大小: 80.2 KB
  • 大小: 70.5 KB
  • 大小: 68.2 KB
分享到:
评论
6 楼 vivus 2015-07-31  
operating...mydream 写道
如何知道工程文件部署的tomcat映射?? 

啥意思?
5 楼 operating...mydream 2015-07-12  
如何知道工程文件部署的tomcat映射?? 
4 楼 vivus 2014-01-14  
pch272215690 写道
vivus 写道
pch272215690 写道
方法一 能不能做到修改代码后(不是增加类或者方法),立刻就能生效。
类似于在myeclipse中新建一个web工程,改代码后自动发布到tomcat中。

好像不行,但这是自动发布的问题,有个tomcat:redeploy的命令可以用,每次运行一下就行了。另,eclipse有个JRebel的插件可以自动发布的,之前用过一下,但没尝试过跟maven整合,你可以研究一下。


我目前没找到好的办法,所以用嵌入式的jetty来启动,目前也不太完美。还没找到servlet3.0的解决方案,jetty是支持servlet3.0的,但必须打成war包,不方便调试。

每次重启一下就好了,自动发布如果软件处理不好容易出问题,还是重启来得彻底点。如果每次启动都太费时间,是否可以考虑优化一下你的程序?spring的容器初始化得比较慢,虽说spring处理好了不少问题,但最好还是不要过于依赖spring。
3 楼 pch272215690 2014-01-09  
vivus 写道
pch272215690 写道
方法一 能不能做到修改代码后(不是增加类或者方法),立刻就能生效。
类似于在myeclipse中新建一个web工程,改代码后自动发布到tomcat中。

好像不行,但这是自动发布的问题,有个tomcat:redeploy的命令可以用,每次运行一下就行了。另,eclipse有个JRebel的插件可以自动发布的,之前用过一下,但没尝试过跟maven整合,你可以研究一下。


我目前没找到好的办法,所以用嵌入式的jetty来启动,目前也不太完美。还没找到servlet3.0的解决方案,jetty是支持servlet3.0的,但必须打成war包,不方便调试。
2 楼 vivus 2014-01-09  
pch272215690 写道
方法一 能不能做到修改代码后(不是增加类或者方法),立刻就能生效。
类似于在myeclipse中新建一个web工程,改代码后自动发布到tomcat中。

好像不行,但这是自动发布的问题,有个tomcat:redeploy的命令可以用,每次运行一下就行了。另,eclipse有个JRebel的插件可以自动发布的,之前用过一下,但没尝试过跟maven整合,你可以研究一下。
1 楼 pch272215690 2014-01-03  
方法一 能不能做到修改代码后(不是增加类或者方法),立刻就能生效。
类似于在myeclipse中新建一个web工程,改代码后自动发布到tomcat中。

相关推荐

    eclipse+maven+tomcat集成

    抛弃myeclipse 用eclipse开发web,使用maven构建 自动发布到tomcat

    chm版本Maven教程

    使用Maven创建Web应用程序项目 Maven POM Maven 构建生命周期 Maven 构建配置文件 Maven存储库 Maven插件 Maven创建Java项目 使用Maven构建和测试Java项目 Maven外部依赖 Maven项目文档 Maven项目模板 Maven快照 ...

    Eclipse Maven WEB工程实战.pdf

    1.eclipse 集成maven 2.搭建maven工程 3.web工程集成 4.应用部署 ……

    tomcat6、7、8、9, maven3.5

    根据规范的要求,Apache Tomcat 4.0还支持为Servlet 2.2和JSP 1.1规范构建的Web应用程序,无需更改。 Apache Tomcat 3.x Apache Tomcat上3.X可以从档案下载。 版本3.3是当前生产质量放行了Servlet 2.2和JSP 1.1...

    Maven 权威指南 非扫描版

    4、在tomcat 上集成tomcat插件 &lt;groupId&gt;org.codehaus.mojo &lt;artifactId&gt;tomcat-maven-plugin &lt;version&gt;1.1 &lt;path&gt;/wp &lt;port&gt;8080 &lt;uriEncoding&gt;UTF-8 &lt;url&gt;...

    dubbo+zookeeper+maven web项目搭建

    提供者和消费者都可以用main方法启动,也都可以作为web项目用tomcat服务器启动 tomcat服务器启动前需先启动zookeeper注册中心 用tomcat服务器启动后在页面上输入http://localhost:8088/dubbo-customer/index会进行...

    Jboss7上+maven搭建struts2+spring3+hibernate3完整能运行源码

    在tomcat7上运行也成功测试了,注意:我工程文件是用myeclipse2013开发的,你需要导入自己ide的时候,会有兼容性问题:最好阁下是自己新建一个maven工程,或者新建web工程,并把maven支持给选上。然后哦复制相关的...

    单点登录sso-shiro-cas-maven

    其中shiro.loginUrl 跟 shiro.logoutUrl的前面是cas验证的地址,后面的是我们应用系统的地址,这样配置的方式是为了在访问我们的应用系统的时候,先到cas进行验证,如果验证成功了,cas将重定向到shiro.successUrl ...

    基于Spring MVC的web框架 1.1.11

    web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 1.1.10 ...

    spring-jpa-wicket-bootstrap:使用 Spring、JPA、Hibernate、Wicket 和 Bootstrap 的 J2EE Web 模板。 在 Tomcat 和 Postgres DB 上测试

    该模板使用 maven 并在 Tomcat7 上针对 Postgres 9.3 数据库进行了测试。 要部署它,请按照以下步骤操作: 克隆这个项目, git clone git://github.com/kamranzafar/spring-jpa-wicket-bootstrap.git 创建一个 ...

    基于SpringMVC的一个web框架

    web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 1.1.10 ...

    基础的java web项目,完成了应用骨架的搭建,提供了底层框架的支持

    (1)这是一个基础的java web项目,完成了应用骨架的搭建,提供了底层框架的支持,但里面的内容是空白的,可以在此基础上进行项目开发或用来学习。 (2)运行环境为:maven3.2 + jdk1.8 + tomcat8 + mysql5。 (3)mysql...

    完结16章SpringBoot2 仿B站高性能前端+后端项目

    spring boot集成了绝大部分目前流行的开发框架,就像maven集成了所有的jar包一样,spring boot集成了几乎所有的框架,使得开发者能快速搭建spring项目。 二、springboot作用 Spring Boot 的主要作用包括: 1、...

    SampleMaven:示例Maven代码

    使用maven-archetype-webapp创建的Java Hello World Web应用程序 博客文章参考 相依性 吉特 专家 Tomcat Eclipse项目设置 使用git clone将项目拉入工作区目录 git clone 使用Maven解决Eclipse依赖关系 mvn ...

    SpringMVC基础上的web框架

    web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 导入...

    一个可以直接运行的基于SpringMVC的web框架1.1.12

    web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 1.1.10 ...

    可以直接运行的基于SpringMVC的web框架示例,也可以直接当公司框架

    web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 1.1.10 ...

    springboot基于微信小程序的点餐系统的实现.rar

    开发过程中,我们可以选择使用Eclipse、MyEclipse或者Idea等集成开发环境进行开发,同时利用Maven3.3.9进行依赖管理和项目构建。 用户端采用了uniapp作为安卓开发框架,借助HBuilder X作为开发软件,实现了混合开发...

    django基于微信平台小区服务系统.rar

    开发过程中,我们可以选择使用Eclipse、MyEclipse或者Idea等集成开发环境进行开发,同时利用Maven3.3.9进行依赖管理和项目构建。 用户端采用了uniapp作为安卓开发框架,借助HBuilder X作为开发软件,实现了混合开发...

Global site tag (gtag.js) - Google Analytics