关于m2eclipse与tomcatplugin插件如何相互配合进行热部署
没有使用Maven插件时,如何进行tomcat热部署
一、首先在Eclipse中安装tomcatplugin插件,详细安装方法见http://zheng12tian.iteye.com/blog/1772322
二、配置tomcat
在没有引入Maven前,如果我们想要在修改开发代码后,不重启服务器,让Tomcat自动重新加载Workspace中项目的class,通常我们的做法是:
1、选中你的工程,然后同时按住Ctrl+Enter,在弹出框中选中Tomcat选项,然后在Is a Tomcat Project打上勾,在Context name填入工程名,例如:tools。然后在Subdirectory to set as web application root(optional)工程发布的目录中填入工程根目录:/src/main/webapp。上述的做法的最终目的就是为了在tomcat-6.0.32\conf\Catalina\localhost路径下生成一个xml文件,文件内容如下:
2、设置java源文件编译路径到src/main/webapp/WEB-INF/classes目录下
3、将项目依赖的jar包全部拷贝到src/main/webapp/WEB-INF/lib目录下,将相关的配置文件拷贝到src/main/webapp/WEB-INF/classes目录下。
三、如此,每次当代码出现改动时,tomcat会自动感知修改,然后进行加载,不需要手动部署项目,也不需要重启服务器。
当使用Maven插件后,如何进行tomcat热部署
当使用Maven后,由于Maven将java文件全部编译到target\classes目录,且jar包也采用引用本地jar包库,因此在src/main/webapp/WEB-INF目录下不会出现classes和lib目录。
那么如何解决上述问题呢?
一、首先我们要将Maven工程转变为一个web项目。打开工程属性,在左边选中Project Facets,在右边选中java和Dynamic Web Module(先选java),点击OK。这样,工程就变成一个web工程了。注意java和Dynamic Web Module的版本:
二、然后我们需对tomcat插件进行一些配置。打开工程属性,在左边选中Deployment Assembly,在右边配置web应用结构,如下图:
三、配置tomcat的管理员角色,在tomcat安装目录中(我自己的目录为E:\Program Files\tomcat-6.0.32\conf\tomcat-users.xml)tomcat-users.xml,增加如下配置:
四、然后修改Maven的settings.xml的配置文件,增加如下片段,让tomcat-maven-plugin插件可以顺利的访问tomcat的http://localhost:8080/manager/html页面,下面的配置主要是配置访问时需要用到的用户名和密码:
tomcat6-manager
admin
admin
在settings.xml文件中还可以设置用Maven创建工程时,jdk的版本,因为默认是1.5。大家现在都是1.6了,所以这个默认设置很不爽,可以增加如下片段:
jdk-1.6
true
1.6
1.6
1.6
1.6
五、剩下的就是配置pom文件了,我将我的springMvc学习工程的pom文件贴出来,如下所示:
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
com.zhengtian.study
spring-mvc
war
0.0.1-SNAPSHOT
spring-mvc Maven Webapp
http://maven.apache.org
junit
junit
3.8.1
test
org.springframework
spring-web
3.1.1.RELEASE
org.springframework
spring-webmvc
3.1.1.RELEASE
javax.servlet
servlet-api
3.0-alpha-1
provided
commons-lang
commons-lang
2.6
spring-mvc
maven-war-plugin
2.1.1
org.codehaus.mojo
tomcat-maven-plugin
1.1
http://localhost:8080/manager
tomcat6-manager
admin
admin
六、配置完pom后,最后的就是如何进行部署,启动tomcat服务。
这里要注意的是去掉在tomcat-6.0.32\conf\Catalina\localhost路径下生成的xml文件,因为我们是通过tomcat的manager动态部署的,所以不需要这个context文件。
然后,启动tomcat。如果不启动tomcat,tomcat-maven-plugin插件是无法访问tomcat的http://localhost:8080/manager/html页面的。
最后是输入maven命令,war:exploded tomcat:exploded,该命令的意思就是将maven工程打war包需要的文件都拷贝的target目录,但是不打成war包。然后用目录的方式部署到tomcat,不是war包部署。如下图:
附件中是完整的Maven的setting.xml文件
大小: 158.5 KB
大小: 139.2 KB
大小: 137.2 KB
下载次数: 55
分享到:
2013-01-18 20:22
浏览 9810
评论