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

来源:互联网 发布:java实用教程 编辑:程序博客网 时间:2024/06/05 19:39

发布一个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重新发布应用

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝店铺物流服务给差评怎么办 在合肥东方融资网被骗了怎么办 微信今年绑定频繁明年再试怎么办 手机号码注销了微信密码忘了怎么办 摄像师把婚礼资料弄丢了怎么办 青岛拍的婚纱照修的不好怎么办 鞋店剩的鞋都是小码的怎么办 淘宝想买的衣服下架了怎么办 买家要求到付仲裁发生运费怎么办 淘宝退货退款页面刷新不出来怎么办 淘宝退货退款快递单号写错了怎么办 淘宝上已经退款的店家还发货怎么办 千牛买家下单付款了卖家怎么办 京东货到付款支付宝支付退款怎么办 美萍餐饮管理系统下单错误怎么办 淘宝店上传宝贝显示空间不足怎么办 淘宝店品牌被投诉未授权怎么办 淘宝天猫退货单号填错了怎么办 淘宝退货我把快递单号弄丢了怎么办 唯品会退货快递单号填错了怎么办 天猫换货写错运单号怎么办 训练衣舍的店铺名连接怎么办 兼职模特被骗去微整还贷了款怎么办 卖家已经发货了我要退款怎么办 卖家显示发货单号信息查不到怎么办 淘宝申请退款卖家发货了怎么办 咸鱼卖家不发货好会自动退款怎么办 淘宝卖家涨价后不发货怎么办 淘宝卖家发货选错在线下单怎么办 申请退款后卖家又虚假发货了怎么办 公司用淘宝没发票做账怎么办 淘宝网买了假货确认了怎么办? 吃了安眠药睡了一天还没有醒怎么办 淘宝买的东西退货快递弄丢了怎么办 在淘宝上已付钱店家说没货了怎么办 从淘宝物流寄东西到国外被扣怎么办 不是天猫的淘宝卖家不发货怎么办 微店违规说卖假冒商品怎么办 云集微店的商品没货了怎么办 淘宝买家被检测有虚拟交易怎么办 媒体声音突然没有声音了该怎么办