maven一键部署tomcat war包

本文详细介绍如何在Tomcat7中使用Maven进行自动化部署,包括配置tomcat-users.xml文件以启用manager权限,修改pom.xml文件以集成tomcat7-maven-plugin插件,以及通过命令行实现应用的部署与更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、环境如下

idel、apache-maven-3.0.5、apache-tomcat-7.0.39

2、配置如下

1) 因为tomcat7默认情况下没有配置manager访问权限,所以这里需要在tomcat-users.xml加入用户以及权限

<tomcat-users>
    <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="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>

</tomcat-users>

 2)工程目录下的pom.xml文件,加入build,并配置tomcat7的maven插件,如下配置
 
添加插件:

        <!-- 配置Tomcat插件 -->
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <charset>utf8</charset>
                <update>true</update>
                <url>${p.cn.tomcat.url}</url>
                <username>${p.cn.tomcat.username}</username>
                <password>${p.cn.tomcat.password}</password>
                <!--<path>/informations</path>-->
                <path>/${project.build.finalName}</path>
            </configuration>
        </plugin>

${project.build.finalName}这个是根据xml的路径来标记的;
最终的的配置文件如下:

    <build>
        <finalName>informations</finalName>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>env/${build.environment}</directory>
            </resource>

            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <webXml>src/main/webapp/WEB-INF/web.xml</webXml>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
        </plugin>

        <!-- 配置Tomcat插件 -->
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <charset>utf8</charset>
                <update>true</update>
                <url>${p.cn.tomcat.url}</url>
                <username>${p.cn.tomcat.username}</username>
                <password>${p.cn.tomcat.password}</password>
                <path>/${project.build.finalName}</path>
            </configuration>
        </plugin>
    </plugins>
    </build>
    <profiles>
        <profile>
            <id>local</id>
            <activation>

                <property>
                    <name>env</name>
                    <value>local</value>
                </property>
            </activation>
            <properties>
                <build.environment>local</build.environment>
            </properties>
        </profile>
        <profile>
            <id>tst</id>
            <activation>
                <!--默认开发环境-->
                <activeByDefault>true</activeByDefault>
                <property>
                    <name>env</name>
                    <value>tst</value>
                </property>
            </activation>
            <properties>
                <build.environment>tst</build.environment>
                <p.cn.tomcat.url>111.1.1.1:8080/manager/text</p.cn.tomcat.url>
                <p.cn.tomcat.username>admin</p.cn.tomcat.username>
                <p.cn.tomcat.password>admin</p.cn.tomcat.password>

            </properties>
        </profile>
        <profile>
            <id>int</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>int</value>
                </property>
            </activation>
            <properties>
                <build.environment>int</build.environment>
                <p.cn.tomcat.url>111.1.1.1:8080/manager/text</p.cn.tomcat.url>
                <p.cn.tomcat.username>admin</p.cn.tomcat.username>
                <p.cn.tomcat.password>admin</p.cn.tomcat.password>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>prod</value>
                </property>
            </activation>
            <properties>
                <build.environment>prod</build.environment>
            </properties>
        </profile>
    </profiles>

3、命令部署

mvn clean install -Denv=tst -Dmaven.test.skip=true tomcat7:redeploy

mvn clean install -Ptst -Dmaven.test.skip=true tomcat7:redeploy

**tomcat6和tomcat7的配置有出入,需要自己再仔细查看其他博客;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值