Maven(三):将web项目的war包热部署到远程Tomcat服务器

Maven(三):将web项目的war包热部署到远程Tomcat服务器

 

相关阅读:

Maven(一):安装与环境配置、使用Maven搭建web项目

Maven(二):常用命令、依赖管理

Maven(三):将web项目的war包热部署到远程Tomcat服务器

Maven(四):使用maven整合Spring+SpringMVC+Mybatis框架详细步骤

Maven(五):使用maven整合Struts2+Spring+Hibernate框架详细步骤


 

以前没有使用远程部署war到Tomcat服务器的时候,都是将项目打包成war格式(eclipse中run->install,就会再target文件夹中生成一个war包),再使用连接服务器的工具把war包上传到远程服务器的webapps目录下,然后让服务器自动解压,完成部署。但是这种方式太不方便,不仅效率低还很麻烦。因此,这篇博客,我们将介绍如何使用Maven远程部署war包到服务器。

1、配置Tomcat的manager:

在远程Tomcat服务器的conf/tomcat-users.xml,中添加管理员账户,密码和权限,然后保存重启服务器。

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

在远程Tomcat服务器的conf/Catalina/localhost目录下创建一个manager.xml文件,文件内容为:

<?xml version="1.0" encoding="UTF-8"?>
<Context privileged="true" antiResourceLocking="false"
         docBase="${catalina.home}/webapps/manager">
             <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

2、在Maven项目的POM.XML引入插件:

(1)主要插件:

<!-- 配置Tomcat插件 -->
<plugin>
	<groupId>org.apache.tomcat.maven</groupId>
	<artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
	<configuration>
		<port>8080</port>
		<url>http://119.29.194.159:8080/manager/text</url>
		<username>admin</username>
		<password>admin</password>
		<path>/serviceMarket-manager-web</path>
		<update>true</update>
	</configuration>
</plugin>

将上面<url>的ip地址和端口换成自己tomcat服务器的ip和port,/manager/text则不需要改。<username>和<password>根远程tomcat的tomcat-users.xml配置的username和password一致。<path>为项目在服务器的部署路径,如果设置为“/”,则会默认部署到ROOT目录下。

(2)其他插件:

<!-- java编译插件 -->
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>3.2</version>
	<configuration>
		<source>1.7</source>
		<target>1.7</target>
		<encoding>UTF-8</encoding>
	</configuration>
</plugin>

<!-- 资源文件拷贝插件 -->
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-resources-plugin</artifactId>
	<version>2.7</version>
	<configuration>
		<testFailureIgnore>true</testFailureIgnore>
		<encoding>UTF-8</encoding>
	</configuration>
</plugin>

3、通过maven命令部署:

tomcat7:deploy    //第一次部署
tomcat7:redeploy    //第二次部署
tomcat7:undeploy    //撤销部署

4、设置部署项目的版本:

在tomcat7-maven-plugin的configuration的path设置为

<path>/test#version</path>    //第一种
<path>/test##version</path>    //第二种

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114748.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PS修补工具使用方法[通俗易懂]

    PS修补工具使用方法[通俗易懂]使用场景:当我们在选取图片时,发现有多余的部分想要去除时可以通过PS中的修补工具来帮助我们实现这一操作,如果有对此功能不是很了解的小伙伴请看以下教程,小编将为大家带来PS修补工具的使用方法。方法步骤:一:把一张需要抹除的照片导入到Photoshop中二:然后找到Photoshop工具栏中的这个图标,点击选择”修复画笔工具”三:按住鼠标左键,把要抹去的部分选取出来.选取完成后会有一条虚线.四:保持鼠标在虚线内,按住鼠标左键,向相似的地方移动,这个时候你就会发现鼠标移动到的地方就是填.

    2022年6月23日
  • JAVA卸载与安装

    JAVA卸载与安装卸载JDK1、删除Java的安装目录电脑-属性-高级系统设置-环境变量-JAVA_HOME的值就是放主程序的目录,删掉2、删除环境变量里的JAVA_HOME电脑-属性-高级系统设置-环境变量-JAVA_HOME这一行删除3、删除path下关于Java的目录电脑-属性-高级系统设置-环境变量-path中删掉跟JAVA_HOME相关的4、Java-versionwin+rcmdJava-version找不到命令安装JDK1,百度搜索JDK8,找到下载地址2、

    2022年5月12日
  • C 单向链表排序_单向链表排序java

    C 单向链表排序_单向链表排序java链表排序链表排序的两种方式一、交换结点的数据域二、断开链表,重新形成方法示例链表排序的两种方式一、交换结点的数据域有很多种方法,比如冒泡排序,选择排序等其他排序方法structNode*link_sort(structNode*head){ intvalue; structNode*p=head; structNode*q=NULL; while(p) { q=p->next; while(q) { if(p->data&g

    2022年10月11日
  • c语言字符数组拼接

    c语言字符数组拼接废话不多说,直接上代码#include<stdio.h>#include<string.h>voidmystrcat(chara[],charb[]){inti,j;//计数a[]个数ifor(i=0;i<strlen(a);i++);//这地方比较繁琐,可不写,直接i=strlen…

    2022年6月10日
  • 浅入浅出LuaJIT[通俗易懂]

    浅入浅出LuaJIT[通俗易懂]JIT什么是JITJIT=JustInTime即时编译,是动态编译的一种形式,是一种优化虚拟机运行的技术。程序运行通常有两种方式,一种是静态编译,一种是动态解释,即时编译混合了这二者。Java和.Net/mono中都使用了这种技术。然而IOS中禁止使用(不是针对JIT,而是所有的动态编译都不支持)!为什么要使用JIT解释执行:效率低。代码暴露。静态编译:不够灵活,无法热更新。

    2022年10月6日
  • AndroidAutoSize今日头条适配方案[通俗易懂]

    AndroidAutoSize今日头条适配方案[通俗易懂]最近公司没有什么事,闲来无聊,就研究一下今日头条的适配方案,不看不知道,真是一看吓一跳,快速上手而且还简单易懂,推荐一篇文章:http://www.wanandroid.com/blog/show/2343我也是看的这位大佬写的。今日头条适配只是一个基准,它是以宽或者高来进行适配的。今日头条的适配是通过修改Application/Activity等的DisplayMetrics…

    2022年5月3日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号