engineering-management
  • Introduction
  • Git源码管理
    • Git简介及使用场景
    • Windows安装Git
    • Linux安装Git
    • Git命令详解
      • git基本操作命令
      • git远程仓库命令
      • git撤销操作命令
      • git删除本地仓库中所有的.git文件夹
      • git版本回滚命令
      • git分支管理
      • git如何拉取指定分支(远程仓库)代码
      • git合并冲突命令
    • 构建私有仓库
    • 如何利用github/码云进行学习
      • github
      • 码云
    • 详解Git-flow企业级开发流程
  • Maven
    • 概念剖析
    • maven build标签(打入外部jar包、xml配置编译)
    • maven 发布github的release版本
    • maven安装和配置
    • maven命令详解
    • maven仓库
    • 开发常见问题汇总
    • 构建企业级私有仓库Nexus
      • Linux安装Nexus
      • Windows 安装Nexus
    • 大型系统模块化工程管理实践/maven构建多模块项目
    • maven导出项目依赖的jar包
    • maven普通项目转成web项目
    • maven命令创建web项目
    • maven settings配置详解
    • maven scm 用法(SVN 的独有配置)
    • maven修改后的settings.xml文件
    • maven集成Tomcat插件
    • maven集成Tomcat插件(二)
    • maven+tomcat6-maven-plugin 实现热部署及调试
    • maven项目将自研发的依赖包打进Jar文件中
    • maven自定义插件研发
    • maven部署到Tomcat的对应目录如下
    • maven中的MANIFEST.MF文件中的Class-Path中增加当前目录(.)
    • maven如何修改本地仓库与中央仓库
    • maven的<profile>标签,打包不同配置的变量包
    • maven 在idea中依赖包不自动更新问题
  • Sonar代码质量检测平台
    • 常见代码检查工具及规范(PMD、checkStyle)
      • CheckStyle插件安装和使用
    • 构建Sonar环境
    • Sonar+Maven集成代码质量检测工具
    • Sonar代码质量检测报告解析
    • 代码常见质量问题分析
  • Jenkins持续集成
    • DevOps持续集成介绍
    • Jenkins环境构建
      • Jenkins的war包安装
      • Windows安装Jenkins.exe
      • Jenkins关闭和重启
    • Jenkins集成git/svn/tomcat/sonar等
      • Jenkins Tomcat安装设置
      • Jenkins Git安装设置
      • Jenkins Maven安装设置
    • Jenkins插件机制
    • Jenkins自动构建部署maven项目的WEB项目
    • Jenkins部署远程服务器(jenkins+svn+maven)
Powered by GitBook
On this page

Was this helpful?

  1. Maven

maven+tomcat6-maven-plugin 实现热部署及调试

Previousmaven集成Tomcat插件(二)Nextmaven项目将自研发的依赖包打进Jar文件中

Last updated 5 years ago

Was this helpful?

maven project,特别是maven module项目默认情况下是是无法直接通过tomcat等容器部署的,如图,我要部署fastdev_web这个maven module,可以看出在tomcat部署对话框中是无法选择的,而且还可以看出,不管fastdev_web不能选,所有的maven项目都不能选:

这是因为maven项目的目录结构并不是标准的web目录结果,我们通过mavne骨架创建的项目,它的web.xml项目描述符不在tomcat所能识别的目录下,所在部署时才不能选择。这时就需要tomcat6-maven-plugin这个插件了。不然每次都得clean package打成war后手动部署到tomcat容器上去,最麻烦的就是这个尼玛不能实时生效(每次修改都得clean package打成war包后放到tomcat上去)。这样的话也忒麻烦了(我就这样干了半个月)...

pom.xml tomcat插件配置(此处用tomcat6,注意tomcat7的url跟tomcat6的不一样):

<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.0-beta-1</version>

<configuration>
<url>http://localhost:8080/manager</url>
<server>tomcat</server>
<username>admin</username>
<password>admin</password>
<path>/fastdev_web</path>
<contextReloadable>true</contextReloadable>
</configuration>
</plugin>

配置完这个后pom.xml还配置C:\Users\3panjiacai.MSS.m2\settings.xml\(maven的全局配置,您的路径肯定跟我的不一样\):

settings.xml代码如下,这个id需跟我们pom.xml配置的id一致:

</servers>
  <server>
<id>tomcat</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>

settings.xml配置完后,就需给admin用户赋权了,这个在tomcat安装目录下的conf/tomcat-users.xml文件,赋权代码如下:

<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="admin,manager,manager-gui,admin-gui,manager-script,manager-jmx,manager-status"/>

到此所有配置完成,然后就可进行热部署了:

1、在myeclipse中运行,非远程(tomcat没有启动)

运行:clean tomcat6:run

重新部署:clean tomcat6:redeploy

清除部署:tomcat6:undeploy

2、在远程服务器运行(tomcat必须启动),执行完后去tomcat webapp目录下看看发生了生命

部署:clean tomcat6:deploy

重新部署:clean tomcat6:redeploy

清除部署:tomcat6:undeploy