一。远程部署
1.使用cargo-maven2-plugin插件
hello
org.codehaus.cargo
cargo-maven2-plugin
1.0.3
true
tomcat6x
remote
runtime
http://localhost:8080/manager
admin
admin
verify-deployer
install
redeploy
二。本地部署
1.使用cargo-maven2-plugin插件
1.1standalone
启动命令:mvn install
hello
org.codehaus.cargo
cargo-maven2-plugin
1.0.3
true
tomcat7x
F:\maven_workspace\apache-tomcat-7.0.5-windows-x86\apache-tomcat-7.0.5
standalone
${project.build.directory}/tomcat7
8081
verify-deployer
install
start
1.2existing
启动命令:mvn install
hello
org.codehaus.cargo
cargo-maven2-plugin
1.0.3
true
tomcat7x
F:\maven_workspace\apache-tomcat-7.0.5-windows-x86\apache-tomcat-7.0.5
standalone
F:\maven_workspace\apache-tomcat-7.0.5-windows-x86\apache-tomcat-7.0.5
verify-deployer
install
start
2.使用jetty-maven-plugin
启动命令:mvn install
hello
org.mortbay.jetty
jetty-maven-plugin
8.0.4.v20111024
10
/test
verify-deployer
install
run
以上插件如果要在命令行执行其各自的命令简写,需要在settings.xml中配置
org.mortbay.jetty
org.codehaus.cargo
三。本地测试-tomcat热部署debug
maven tomcat eclipse debug 调试 + hot code replace 热部署
参考资料:http://jaymsimusic.iteye.com/blog/1160118
maven tomcat eclipse debug 调试 + hot code replace 热部署
文章分类:Java编程上网找了好久都没找到,网上只有运行mvn package 打包,并利用tomcat manager功能部署到tomcat 下的文章,如果我修改了一个java文件,不得不重新打包部署一下,这佯做开发效率极低,影响用maven的心情,经过自己的反复试验,终于可以实行hot code replace了,就是修改了一个文件不用重新部署了,就可以使用debug了。
试验环境:
eclipse+ tomcat+ tomcatPlugin+maven3 关于怎么安装,就得大家自己找文章了
我们用petclinic项目为大家演示热部署。petclinic是spring官方的一个非常经典的例子
petclinic svn路径 https://src.springframework.org/svn/spring-samples/petclinic/trunk
配置使用
1。修改tomcat的server.xml文件,加入
1
意思是指定tomcat运行项目的目录,在这里我们指定E:\workspace\petclinic\src\main\webapp ,src\main\webapp 是maven web规范,存放java web的相关资源。
2。右键单击项目,选择build path,将default output folder设置为 petclinic/src/main/webapp/WEB-INF/classes,并将
petclinic/src/main/resource的Excluded设置为None,默认是**,意思是让eclipse编译java和resource文件编译到petclinic/src/main/webapp/WEB-INF/classes目录
3。 运行 mvn war:inplace petclinic/src/main/webapp/WEB-INF下,就有lib文件了
4。用eclipse插件运行tomcat,项目就可以运行了,修改任意一java类,可以实时生效,打断点也能够调试了。
注意:要关联tamcat下的jar包。
该配置可以 聚合项目的debug,在需要debug外部项目时手工关联即可。
举例:.classpath
但这样会有一个问题,就是如果有需要替换为maven属性的资源文件就不会被替换了。可以使用jetty-maven-plugin解决这个问题,不过就是path尚不好使。
所以,可以使用上面的配置方式与maven-antrun-plugin插件结合,进行资源文件的替换,各个环境,可以结合profile使用
也就是说,本地开发使用本地的资源进行开发和测试,其它环境在使用maven进行替换
org.apache.maven.plugins
maven-antrun-plugin
1.3
ant-copy
prepare-package
run
可以定义多个动作