Maven+Tomcat8 实现自动化部署的方法

作者:Hi_Amos 时间:2023-01-03 06:44:20 

本文介绍了Maven+Tomcat8 实现自动化部署的方法,分享给大家,具体如下:

1.配置tomcat-users.xml

首先在Tomcat里配置deploy的用户(tomcat根目录/conf/tomcat-users.xml):


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

2.配置maven setting.xml

修改Maven的setting.xml(默认是C:\Users\用户名.m2\settings.xml),在节点下添加


<server>
<id>tomcat7</id>
<username>admin</username>
<password>admin</password>
</server>

3.配置pom.xml 

这里我是要部署到Tomcat 根目录,所以这里将path写成ROOT了


 <plugin>
   <groupId>org.apache.tomcat.maven</groupId>
   <artifactId>tomcat7-maven-plugin</artifactId>
   <version>2.2</version>
   <configuration>
    <url>http://127.0.0.1:8080/manager/text</url>
    <server>tomcat7</server>
    <path>/ROOT</path>
    <charset>utf8</charset>
    <update>true</update>
   </configuration>
  </plugin>

<!-- 添加相关依赖 -->
<dependency>
  <groupId>org.apache.tomcat</groupId>
  <artifactId>tomcat-servlet-api</artifactId>
  <version>8.5.4</version>
 </dependency>

4.修改ip访问权限

将 /apache-tomcat-8.5.4/webapps/manager/META-INF/context.xml中的,ip限制去掉


<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
  allow="192\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
</Context>

5.执行部署命令

在项目根目录下执行


//第一次
mvn tomcat7:deploy
//之后
mvn tomcat7:redeploy

//这里我要求先重新打包,并跳过测试,再部署
//第一次
mvn package -Pdevelop -Dmaven.skip.test=true tomcat7:deploy

//之后
mvn package -Pdevelop -Dmaven.skip.test=true tomcat7:redeploy

注意事项:

1.需要将远程机器的tomcat先开启,这里是热部署

2.可以在本地先调试好,再到远程去执行

来源:http://www.cnblogs.com/amosli/p/6086515.html

标签:Maven,Tomcat8,自动部署
0
投稿

猜你喜欢

  • Android使用Retrofit实现自定义Converter解析接口流程详解

    2022-12-30 23:19:38
  • 使用Java实现三种等级的扫雷游戏(完整版)

    2023-05-10 07:34:17
  • 解决fastjson从1.1.41升级到1.2.28后报错问题详解

    2021-12-30 21:55:35
  • Android开发人脸识别登录功能

    2022-03-02 14:16:12
  • C# 异步多线程入门基础

    2022-01-19 05:23:05
  • java Matcher匹配头尾截取替换字符串的案例

    2023-01-30 11:44:48
  • Java Synchronized锁失败案例及解决方案

    2023-10-25 12:33:47
  • 详细解读C++编程中的匿名类类型和位域

    2023-11-02 23:08:18
  • Java数组队列概念与用法实例分析

    2023-11-18 04:18:31
  • Android多媒体之VideoView视频播放器

    2023-11-12 14:38:35
  • java定义数组的三种类型总结

    2022-06-27 01:44:44
  • MyBatis 动态SQL和缓存机制实例详解

    2022-01-14 16:47:33
  • Unity实现透视滑动列表

    2022-04-10 20:15:40
  • Spring事务失效的场景梳理总结

    2023-02-23 16:23:24
  • 详解WPF中的对象资源

    2023-10-28 14:09:41
  • Java修饰符 abstract,static,final 的区别详解

    2023-12-19 22:11:25
  • 一文详解Spring是怎么读取配置Xml文件的

    2023-07-30 00:27:37
  • Java实现求解一元n次多项式的方法示例

    2022-08-24 09:03:33
  • Java方法参数传递机制原理解析

    2022-04-16 19:10:46
  • Android 使用 okhttp3和retrofit2 进行单文件和多文件上传

    2023-04-29 07:33:22
  • asp之家 软件编程 m.aspxhome.com