zoukankan      html  css  js  c++  java
  • maven tomcat7 远程热部署

      在maven项目开发中,一般推荐使用jetty进行开发调试。但是在项目发布的时候要求使用tomcat7作为发布服务器,为此在maven中配置了tomcat7插件,以支持项目在外部tomcat7进行远程热部署。

           具体配置步骤如下:

           1、在服务器段安装tomcat7,并更改配置文件夹conf中tomcat-users.xml。这样用户tomcat就拥有管理员权限。

                

     
    1. <span style="font-size:14px;"><role rolename="admin-gui"/>  
    2. <role rolename="admin-script"/>  
    3. <role rolename="manager-gui"/>  
    4. <role rolename="manager-script"/>  
    5. <role rolename="manager-jmx"/>  
    6. <role rolename="manager-status"/>  
    7. <user name="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui" /></span>  

          2、在本地maven的setttings.xml文件中,属性<servers><servers>中添加如下配置

        


     
    1.   <server>  
    2. <id>tomcat7</id>  
    3. <username>tomcat</username>  
    4. <password>tomcat</password>  
    5.   </server>  

        3、在项目的pom.xml中引入tomact7-maven-plugin插件,并对插件进行配置


     
    1. <plugin>  
    2.                 <groupId>org.apache.tomcat.maven</groupId>  
    3.                 <artifactId>tomcat7-maven-plugin</artifactId>  
    4.                 <version>2.2</version>  
    5.                 <configuration>  
    6.                     <!-- 注意此处的url -->  
    7.                     <!--  <url>http://localhost:18080/manager/text</url> --><!--部署到本地tomcat7-->  
    8.                     <url>http://ip地址:8080/manager/text</url>  
    9.                     <server>tomcat7</server<!-- 此处的名字必须和setting.xml中配置的ID一致 -->  
    10.                     <path>/${projectName}</path>  <!-- 此处的名字是项目发布的工程名 -->  
    11.                     <!--<username>tomcat</username>--><!--settings.xml文件已配置,此处可不配-->  
    12.                     <!--<password>tomcat</password>--><!--settings.xml文件已配置,此处可不配-->  
    13.                 </configuration>  
    14.             </plugin>  

        4、对当前项目执行mvn tomcat7:deploy命令(首次部署),或者mvn tomcat7:redeploy(再次部署),这样在远程tomcat会成功部署了该项目。(注意:部署前要确保tomcat7是启动状态)

        

         综上所述,完成了对tomcat7远程热部署,别忘了tomcat7 的server.xml中配置URIEncoding="UTF-8"  ,以便支持中文。如下:


     
    1. <Connector port="8080" protocol="HTTP/1.1"  
    2.          connectionTimeout="20000"  
    3.          redirectPort="8443" URIEncoding="UTF-8" />  

             如果想让项目的目录成为tomcat7的根目录,让项目在启动的时候不用带上项目名称访问,如http://ip/项目名,变为http://ip 则可以在server.xml中<Host>添加<Context path="" docBase="项目名" debug="0" reloadable="true"/>。这样项目的目录成为根目录,而不是ROOT目录。

           还有一种不更改server.xml配置的方式,就是在pom.xml中将<path>/${projectName}</path>改为<path>/ROOT</path>这样,项目就发布成了根目录,只不过,测试发现在远程只生成了ROOT.war没有生成ROOT文件夹。而且需要手动在manager界面启动根目录的项目。而部署到本地(localhost)没有发现这个问题。

  • 相关阅读:
    CCF CSP 题解
    CCF CSP 2019032 二十四点
    CCF CSP 2018121 小明上学
    CCF CSP 2019092 小明种苹果(续)
    CCF CSP 2019091 小明种苹果
    CCF CSP 2019121 报数
    CCF CSP 2019031 小中大
    CCF CSP 2020061 线性分类器
    CCF CSP 2020062 稀疏向量
    利用国家气象局的webservice查询天气预报(转载)
  • 原文地址:https://www.cnblogs.com/jtlgb/p/7018738.html
Copyright © 2011-2022 走看看