Fork me on GitHub

tomcat maven plugin热部署

首先启动tomcat,然后在tomcat的tomcat-users.xml配置文件里写入:

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

然后在mvn的settings.xml里写入:

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

在pom.xml文件添加:

<!-- Run the JUnit unit tests in an isolated classloader -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.4.2</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>

            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <webXml>src/main/webapp/WEB-INF/web.xml</webXml>
                </configuration>
            </plugin>

            <!-- generate java doc -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.9.1</version>
                <configuration>
                    <javadocDirectory>target/javadoc</javadocDirectory>
                    <reportOutputDirectory>target/javadoc</reportOutputDirectory>
                    <charset>UTF-8</charset>
                    <encoding>UTF-8</encoding>
                    <docencoding>UTF-8</docencoding>
                    <show>private</show>
                </configuration>
            </plugin>

            <!-- 部署至本机 -->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <url>http://localhost:8080/manager/text</url>
                    <server>tomcat</server>
                    <path>/myWeb</path>
                    <username>tomcat</username>
                    <password>tomcat</password>
                </configuration>
            </plugin>

<path>后面的路径不能和项目名称一样,否则报错

且必须添加:

<!-- 导入Java EE jar 包 -->
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>

不添加,则报错

下面是常用的命令:

命令

描述

tomcat7:deploy -X

 部署的时候看详细信息

tomcat7:deploy

部署一个web war包

tomcat7:redeploy

持续部署web项目(推荐使用)

tomcat7:reload

重新加载web war包

tomcat7:start

启动tomcat

tomcat7:stop

停止tomcat

tomcat7:undeploy

停止一个war包

tomcat7:run

启动嵌入式tomcat ,并运行当前项目

如果在Windows系统下,redeploy过程无法删除旧项目的目录

必须修改$TOMCAT_HOME/conf/context.xml:

<Context antiJARLocking="true" antiResourceLocking="true">

 

posted @ 2017-03-16 23:09  阿森丶  阅读(1323)  评论(0编辑  收藏  举报