zoukankan      html  css  js  c++  java
  • Maven自动部署war到Tomcat8

    原文:http://www.cnblogs.com/yucongblog/p/5392932.html

    我使用的环境是:Eclipse Java EE IDE for Web Developers(Version: Luna Service Release 2 (4.4.2))

                          apache-tomcat-8.0.32

                          apache-maven-3.3.9

    实战过程如下:

    第一步:配置Tomcat访问权限

    要打开tomcat的manager功能;

    在conf文件夹下的tomcat-users.xml的<tomcat-users>标签内添加如下内容

    <role rolename="manager-gui"/>  
      <role rolename="manager-script"/>  
      <role rolename="manager-jmx"/>  
      <role rolename="manager-status"/>  
      <user password="123456" username="admin"
     roles="manager-gui,manager-script,manager-jmx,manager-status" />
    <role rolename="manager-gui"/>  
      <role rolename="manager-script"/>  
      <role rolename="manager-jmx"/>  
      <role rolename="manager-status"/>  
      <user password="123456" username="admin"
     roles="manager-gui,manager-script,manager-jmx,manager-status" />

    启动tomcat并访问http://localhost:8080/manager

    输入配置的用户名(admin)和密码(123456)看是否可以登录,如果可以进下一步

    第二步:配置maven的setting.xml

    在conf/setting.xml文件中的标签<servers>添加子标签

     <server>  
         <id>tomcat8</id>  
         <username>admin</username>  
         <password>123456</password>  
     </server>

    注意,这里配置的username和password一定要和tomcat中的tomcat_user.xml中一致。

    第三步:配置pom.xml

    在pom.xml中添加如下代码,在标签<project>下添加子标签

    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
          </configuration>
        </plugin>
    
        <plugin>  
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
          <configuration>  
               <!-- 远程tomcat下manager路径 -->
            <url>http://localhost:8080/manager/text</url>      
            <server>tomcat8</server>    
          </configuration>                  
        </plugin>
    
      </plugins>
    </build>

    以上几步完成以后就可以执行mvn命令了,如下操作:

    (1) mvn clean install

    (2) mvn tomcat7:deploy (第一次部署执行)

    (3) mvn tomcat7:redeploy(第二次部署是执行)

     注意:第一次发布是执行(2),已经发布了,需要重新发布执行(3)。

    通过以上操作就可以通过maven把项目自动部署到tomcat了。

    在Maven与Tomcat配合部署过程中,最常见的错误有三种,以及相应的完美解决办法

    1.  Connection refused错误

    报错信息如下:

    [ERROR]Failed to execute goal org.apache.tomcat.maven: tomcat7-maven-plugin: 2.0- SNAPSHOT: deploy (default-cli) on project helloworld: Cannot invoke Tomcat manager: Connection refused: connect -> [Help 1]

    原因:未启动Tomcat服务器

    解决办法:先启动Tomcat服务器再选择Run

     2.  401错误

    报错信息如下:

    [ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin: 2.2:deploy (default-cli) on project helloworld: Cannot invoke Tomcat manager: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/text/deploy?path=%2Fhelloworld -> [Help 1]

    原因:权限问题

    解决办法在$CATALINA_BASE/conf/tomcat-users.xml,

    如D:apache-tomcat-8.0.20conf omcat-users.xml文件中添加权限

    <role rolename=”manager”/>
    <user username=”admin” password=”123456” roles=”manager”/>

     3. 403错误

    报错信息如下:

    [ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin: 2.0-SNAPSHOT:deploy (default-cli) on project helloworld: Cannot invoke Tomcat manager: Server returned HTTP response code: 403 for URL: http://localhost:8080/manager/html/deploy?path=%2Fhelloworld -> [Help 1]

    原因:产生该问题有可能因为两个原因,具体参见解决办法

    解决办法:

    1)如果使用的是Tomcat 7,需要修改pom.xml中部署的url地址,将<url>http://localhost:8080/manager</url>改<url>http://localhost:8080/manager/text</url>

    2)给tomcat用户权限分配上,需要同时具备manager-gui和manager-script权限,我在遇到该问题时,就是忘了分配manager-script权限。

    正确的conf/tomcat-users.xml配置应为:

    <tomcat-users>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <user username="admin” password="123456" roles="manager-gui, manager-script"/>
    </tomcat-users>
  • 相关阅读:
    eclipse中文乱码问题解决方案
    修改Tomcat的JDK目录
    Tomcat 5.5 修改服务器的侦听端口
    HTML DOM教程 27HTML DOM Button 对象
    HTML DOM教程 24HTML DOM Frameset 对象
    Navicat for MySQL v8.0.27 的注册码
    HTML DOM教程 25HTML DOM IFrame 对象
    Tomcat 5.5 的下载和安装
    android manifest相关属性
    ubuntu10.04 下 eclipse 小结
  • 原文地址:https://www.cnblogs.com/shihaiming/p/6283698.html
Copyright © 2011-2022 走看看