Tomcat Maven Plugin部署Maven Web应用

        Tomcat官方提供了Maven插件用于部署基于Maven的Web应用,不同版本Tomcat使用的插件不同,不同版本插件的使用也有一定区别,详细信息可参考http://tomcat.apache.org/maven-plugin.html。下面记录的是我在Eclipse环境中使用Tomcat Maven Plugin-2.2在Tomcat7中部署Maven Web应用的配置过程:

  • 第一步:配置Tomcat manager用户:

        打开Tomcat根目录下conf目录中的tomcat_user.xml,在<tomcat-users>节点下添加manager角色和用户,用于Tomcat Maven Plugin自动部署应用,xml代码如下:

<tomcat-users>
    <role rolename="manager-gui"/>  
    <role rolename="manager-script"/>  
    <user username="tomcat" password="123456" roles="manager-gui, manager-script"/> <!-- 用户名和密码可以是其他字合法符串 -->
</tomcat-users>

  • 第二步:Maven配置中添加Tomcat Server:

        打开Maven的settings.xml文件,如果是本地安装版Maven,文件为安装根目录下conf/settings.xml,如果使用的是Eclipse内置的Maven,则该文件为当前系统用户目录下的/.m2/setting.xml。在<servers>节点下配置Tomcat的Manager用户信息,xml代码如下:

<servers>
    <server>
       <id>myTomcat</id>
       <username>tomcat</username>
       <password>123456</password>
     </server>
<servers>

id用于在pom.xml文件中配置该Server,用户名和密码与tomcat_user.xml中配置相同。

  • 第三步:配置Tomcat Maven Plugin插件:

        打开项目pom.xml文件,在<plugins>节点下添加Tomcat Maven Plugin插件,xml代码如下:

<plugins>
    <plugin> 
        <groupId>org.apache.tomcat.maven</groupId> 
        <artifactId>tomcat7-maven-plugin</artifactId> 
        <version>2.2</version> 
        <configuration> 
        <url>http://localhost:8080/manager/text</url> <!-- tomcat管理路径 -->
            <server>myTomcat</server> <!-- 与settings.xml文件中Server的id相同 -->
            <path>/myapp</path> <!-- 应用的部署位置 -->
        </configuration> 
    </plugin>
<plugins>

  • 第四步部署应用到Tomcat7:

        启动Tomcat,需要注意的是Eclipse中配置的Tomcat默认的部署位置在workspace的metadata目录中(不修改我没有部署成功),这里需要将其修改到安装目录中,修改方法为双击server视图中的tomcat打开配置文件,在"Server Locations"中选择"Use Tomcat installation"选项并保存即可。

        在project视图中选中项目,右键"Run As"->"Maven bulid",执行tomcat7:deploy命令,即可完成部署,执行tomcat7:redeploy即可重新部署项目,tomcat7:undeploy卸载部署。

        以上是我参考网上资料使用Tomcat7的Maven插件部署Web应用的记录,不对的地方还请各位看官指正!

原文地址:http://www.gogogogo.me/development/Tomcat-Maven-Plugin-Tomcat7.html 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。