zoukankan      html  css  js  c++  java
  • 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
      即可完成部署
  • 相关阅读:
    两列布局
    BFC布局
    iframe高度自适应(同域)
    iframe关于滚动条的去除和保留
    testng入门_单元测试
    Ionic学习笔记5_动态组件指令
    Ionic学习笔记4_ionic路由(页面切换)
    Ionic学习笔记3_ionic指令简单布局
    Ionic学习笔记1_基本布局
    Angularjs学习笔记11_手工初始化
  • 原文地址:https://www.cnblogs.com/HeXiaoZhou/p/8027019.html
Copyright © 2011-2022 走看看