• maven一键部署tomcat war包(转载)


    1、环境如下

      eclipse、apache-maven-3.0.5、apache-tomcat-7.0.39

     2、配置如下

      apache-tomcat-7.0.39配置C:Program Filesapache-tomcat-7.0.39conf omcat-users.xml,因为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>
    复制代码

      apache-maven-3.0.5配置C:Program Filesapache-maven-3.0.5confsettings.xml,为了让maven可以访问tomcat的权限,所以需要把如上创建的用户添加到settings.xml中,如下

    复制代码
    <servers>
    
        <!-- 配置tomcat-/manager/text 访问权限 -->
        <server>
          <id>tomcat</id>
          <username>admin</username>
          <password>admin</password>
        </server>
    
      </servers>
    复制代码

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

    复制代码
    <build>
            <finalName>myApp</finalName>
            <!-- directory缺省情况下指向target --> 
            <!--<directory>${basedir}/target</directory>-->
            <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>
                        <!-- server、username、password对应maven的setting下的配置 -->
                        <server>tomcat</server>
                        <username>admin</username>
                        <password>admin</password>
                        <path>/${project.build.finalName}</path>
                        <!-- war文件路径缺省情况下指向target -->
                        <!--<warFile>${basedir}/target/${project.build.finalName}.war</warFile>-->
                    </configuration>
                </plugin>
            </plugins>
        </build>
    复制代码

      ${project.build.finalName}这个是根据xml的路径来标记的

    3、命令部署

      在部署之前,必须先启动tomcat7服务,C:Program Filesapache-tomcat-7.0.39instartup.bat

      找到要部署的工程文件根目录下,执行如下maven命令

      > mvn clean:install             //clean是清理输出文件,install编译打包,在每次打包之前必须执行clean,才能保证发布为最新文件

      > mvn tomcat7:redeploy    //第一次发布 tomcat7:deploy,再次发布 tomcat7:redeploy

    4、问题

      Cannot invoke Tomcat manager: Server returned HTTP response code: 403 for URL: http://localhost:8080/manager/deploy?path=%2FmyApp&war=

      

      如上问题,有如下两个原因:

      A、由于maven没有权限访问http://localhost:8080/manager/text,所以需要在apache-tomcat下的tomcat-users.xml增加用户权限,并配置于maven的setting文件中

      B、由于maven-tomcat插件问题,通过http://search.maven.org/搜索tomcat-maven-plugin,发现最新版本之后,最后执行> mvn tomcat:redeploy,一直都会显示上面这个报错,这里如果是tomcat7,建议直接通过http://search.maven.org/搜索tomcat7-maven-plugin插件,执行> mvn tomcat7:redeploy,这样就部署成功了;如果tomcat6就直接通过http://search.maven.org/搜索tomcat6-maven-plugin

      所以这里需要注意tomcat7-maven-plugin插件的引入,正确引入将解决以上问题

      

      <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>

      >  mvn tomcat7:redeploy
      即可完成部署
  • 相关阅读:
    C++的精度控制
    N*N矩阵的旋转 不开辟新空间
    关于内存对齐的探索
    最大公约数,最小公倍数
    冒泡排序,直接选择排序,插入排序实现
    vector function trmplate
    function template
    dijit/_WidgetBase
    DOJO之gridx
    [b0008] Windows 7 下 hadoop 2.6.4 eclipse 本地开发调试配置
  • 原文地址:https://www.cnblogs.com/HeXiaoZhou/p/8027019.html
Copyright © 2020-2023  润新知