Maven部署Web项目到Tomcat7及在eclipse下调试

时间:2021-09-17 13:59:50

以前在项目中很少使用Maven,最近自己学习了一下maven,真的是非常强大的项目构建工具,对于依赖包的定义及版本,以及依赖包的集中管理(*仓库)都让人惊喜(原谅我的大惊小怪,虽然Maven出来很久了,但小弟刚接触),但发现开发Web项目时,需要手动部署到Web服务器(Tomcat7),如果能自动部署到Web服务器,而不用每次手动把target下编译好的war包拷贝到Tomcat下就更好了。

    下面是具体的使用方法:

  1. Tomcat7的用户及权限配置:在conf目录下,找到tomcat-users.xml,添加manager权限的用户。这里我把所用的权限都添加给admin用户了,具体代码如下:
    ?
    1
    2
    3
    4
    5
    6
    7
    < role rolename = "admin-gui" />
    < role rolename = "admin-script" />
    < role rolename = "manager-gui" />
    < role rolename = "manager-script" />
    < role rolename = "manager-jmx" />
    < role rolename = "manager-status" />
    < user username = "admin" password = "password" roles = "manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui" />
  2. Maven的Server的配置:在Maven的安装路径找到conf目录下的setting.xml文件,在<servers>节点中添加tomcat7下配置的用户信息(id可以任意填写,但username和password必须和步骤1一致):
    ?
    1
    2
    3
    4
    5
    < server >
         < id >tomcat7</ id >
         < username >admin</ username >
         < password >password</ password >
    </ server >
  3. 在Web项目的pom.xml文件的<plugins>节点中,添加tomcat7的maven插件,
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    < plugin >
         < groupId >org.apache.tomcat.maven</ groupId >
         < artifactId >tomcat7-maven-plugin</ artifactId >
         < version >2.1</ version >
         < configuration >
             <!-- 注意此处的url -->
             < url >http://localhost:8080/manager/text</ url >
             < server >tomcat7</ server > <!-- 此处的名字必须和setting.xml中配置的ID一致-->
             < path >/mavenProject</ path > <!-- 此处的名字是项目发布的工程名-->
         </ configuration >
    </ plugin >
  4. 在eclipse上运行mvn tomcat7:deploy就可以了(必须事先启动tomcat服务器)

  5. 在tomcat的bin目录下新建debug.bat

  6. set JPDA_ADDRESS=8000 
    set JPAD_TRANSPORT=dt_socket 
    SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899 
    startup