web应用从开发环境自动部署至tomcat的方法

发布一个Java Web应用通常的做法就是把它打成一个war包,然后把它上传到服务器,并放到相应的目录里,让Tomcat自动去解包,完成部署。

下面介绍的方式可以在开发环境中将应用自动部署到服务器

所用到的工具有maven,eclipse,tomcat

通过maven引入插件tomcat7-maven-plugin,这个插件是利用Tomcat的“manager”模块来实现war包部署的,所以必须确保Tomcat安装了Manager模块,(看看webapps下有没有manager目录,Tomcat解压后默认是有的)它虽然名字带“tomcat7”,但Tomcat8也适用。接下来配置Tomcat的manager模块

1.打开本地Tomcat的conf目录下的tomcat-users.xml文件,开放manager模块的用户权限,如下:

<role rolename="manager-script"/>

<user username="deployer" password="654321" roles="manager-script"/>

2.打开Tomcat的webapps\manager\META-INF目录下的context.xml文件,注释掉访问限制,因为不注释的话,manage模块只允许通过本机访问

同时antiResourceLocking设置为false,否则服务处于运行状态时,再发布新的应用会因为文件正在使用导致发布失败,包括卸载也会失败

<Context antiResourceLocking="false" privileged="true" >
  <!--
    Remove the comment markers from around the Valve below to limit access to
    the manager application to clients connecting from localhost
  -->
  <!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  -->
</Context>

3.配置pom.xml文件,引入tomcat7-maven-plugin插件

<properties>
         <warPackageName>appName</warPackageName>
         <tomcat.deploy.server>localTestServer</tomcat.deploy.server>
         <tomcat.deploy.serverUrl>http: //localhost:8080/manager/text</tomcat.deploy.serverUrl>
     </properties>
 
     <build>
         <finalName>${warPackageName}</finalName>
         <plugins>
             <plugin>
                 <groupId>org.apache.tomcat.maven</groupId>
                 <artifactId>tomcat7-maven-plugin</artifactId>
                 <version> 2.2 </version>
                 <configuration>
                     <server>${tomcat.deploy.server}</server>
                     <url>${tomcat.deploy.serverUrl}</url>
                     <path>/${warPackageName}</path>
                 </configuration>
             </plugin>
         </plugins>
     </build>

该插件要求赋予三个参数,分别为server,url,path,其中server表示Tomcat 服务器的用户名和密码,该内容存储在maven的settings.xml文件中,

用户名和密码即为第一步设置的Tomcat的用户名和密码,通过server的id关联,如下

<servers>
     <server>
         <id>localTestServer</id>
         <username>deployer</username>
         <password> 654321 </password>
     </server>
</servers>

url表示 Tomcat的Manager模块的后台脚本入口,其值为http://localhost:8080/manager/text

path表示应用发布的文件夹名称,其值即为服务名

4.配置完成后,即可在eclipse开发环境中执行mvn命令tomcat7:deploy,自动上传war包至Tomcat服务器并发布

同时支持的命令有tomcat7:undeploy卸载删除已发布的应用,和tomcat7:redeploy重新发布应用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值