1.虽然现在Maven中央仓库中支持的tomcat插件只支持到tomcat7这个版本,但是可以利用这个插件对Web项目进行热部署,热部署到远程服务器的tomcat服务器上,远程服务器上的tomcat版本可以是更高的版本,比如说tomcat8、9、10或更高的版本中,以此来突破Maven仓库tomcat7插件版本的局限性。
将Maven项目热部署到远程tomcat中
文章目录
1.为什么要写这篇文章?
1.1web项目分模块开发
开发Web项目,用到了Maven对Web项目进行分模块开发,提高项目构建、发布、管理的灵活性。
1.2分模块开发解决项目管理的灵活性的主要表现
1.2.1Web项目的依赖管理变得更加灵活
web项目依赖jar包的管理不再乱麻一团,管理起来变得清晰明了了,升级jar包的版本也变得更灵活方便,直接根据Maven官方中央仓库的版本号修改升级或降级即可。
1.2.2对Web项目模块的管理变得更灵活,促进公司对程序员的培养与管理
(1)分模块开发之后,项目增加一个模块,移除一个模块不再是麻烦事。
(2)从公司招聘新员工角度来说,招一个程序员进来,让其开发一个项目模块,如果这个程序员是水货,能力达不到,他所开发的模块虽然没弄成,但是因为公司Web项目采用了分模块开发,不会影响整个公司Web项目的大局,直接从整个项目模块中移除掉他所开发的模块即可。这都是Maven的聚合能力提供了这样一个好的支撑,立下了汗马功劳。可以说,对项目,对员工的管理都变得更具有灵活性,公司可以大胆的让新员工做尝试,快速促进其融入公司项目的开发中,以项目提高其软件开发技能。
1.2.3项目的多环境部署变得更加的灵活
(1)使用Maven构建Web项目之后,让Web项目可以轻松的一键热部署到多个环境,如线上环境、开发环境、测试环境。
(2)注意:无论你的Web项目运行所处环境是windows系统还是linux系统都可以一键搞定,关键还是热的,即对某一个项目模块修改升级之后,可以立即通过热部署,一键实现某个环境的升级部署。从这一点上来说,以后Web项目的bug修复,无论是线下、还是线上都将变得极其的容易。
1.2.4私服仓库的使用,使得Web项目的团队协作开发变得更加灵活
(1)分模块开发后,由于团队成员每个人负责开发的模块不一样,当团队某个成员需要使用其他成员提供的模块支撑(依赖)时,可以通知其他团队成员将自己开发的模块,通过Maven快速的上传发布到公司的私服仓库,该成员直接从私服仓库同步获取新的功能支撑即可,提升了项目的集成效率、使得团队协作开发变理更加灵活方便。
(2)私服仓库构建起了本地仓库到阿里云私服仓库和Maven中央仓库之间的桥梁
当Web项目需要第三方开发者提供的jar资源支持时,首先从本地仓库中去寻找是否存在这个资源,如果没有找到,则需要到公司的私服仓库里面去找,公司私服仓库没有就需要从阿里云镜像私服仓库(即Maven中央仓库的镜像)加载 ,如果阿里云镜像私服仓库中没有我们项目开发所需要的jar资源时,会到Maven的中央仓库里去找我们所需要的资源。
在这个过程当中,公司的私服仓库需要做几件事:
一是要创建一个代理仓库,配置好阿里云的私服仓库组的地址。
二是把这个代理仓库添加到public仓库组里面,让公司的开发者直接访问这个public仓库组,致其可以访问到阿里云的私服仓库组。
三是在public仓库组里面也可加上Maven中央仓库组的配置(默认是加上了的,不用我们管)。
总之一句话,就是利用公司的私服仓库组搞定与阿里云镜像仓库组与Maven中央仓库的连接,开发团队的每个成员在本地仓库中直接访问公司的私服仓库组就可以拿到公司其他成员或第三方公司开发的资源了(jar包等)。
2.一键热部署解决方案
2.1实现思路
由我们自己将修改后的war包上传到远程服务器的Tomcat中,变为由Intellij IDEA的maven插件帮我们实现。
2.2场景具体描述
(1)在Intelij IDEA中对Web项目修改升级后,使用Intellij IDEA中集成的Maven插件对项目资源进行重新打包。.
(2)打包后,使用maven将项目新的war包上传到l其他远程服务器的tomcat进行部署,例如远程linux系统中的tomcat服务器上。
3.一键热部署实现逻辑
(1)我们已经学过了web开发中的上传功能,那么我们是不是可以开发一个web项目,该web项目提供一个资源上传的功能,比如该项目的名字为A项目。
(2)然后我们将A项目部署到linux中的tomcat中,启动tomcat,然后我们在本地的浏览器中访问A项目。
(3)选择我们的war包,将上传请求发送给A项目,而A项目在接收到上传请求后,将war包存储到linux下的tomcat中的webapps目录下
(4)那么再细细的思考一下,那么能不能让maven去访问我们的项目A的上传功能,将项目的war包上传到linux下的tomcat中的webapps目录下呢?答案是可以的。
(5)说白了就是让我们的maven具备发送http请求的功能
(6)其实项目A是tomcat自带的一个web项目,不需要我们自己开发了。
4.一键热部署项目到远程服务器的具体操作步骤
4.1Tomcat中的ROOT项目的配置和使用
4.1.1在远程服务器上启动tomcat服务器
4.1.2访问Tomcat服务器首页
(1)在浏览器地址栏输入http://192.168.10.16:8080,访问tomcat服务器的首页(即广告页,相当于我们的项目A)
(2)tomcat的ROOT项目,是tomcat自带的一个web项目。

4.1.3点击tomcat首页的Manager App
(1)当我们点击Manager App时会先提示我们进行登录,在登录界面中输入帐号与密码即可进入到项目资源管理页面。如果点击后不可以进入,出现403 Access Denied时,可以按照步骤4.1.4和4.1.5的设置方法进行解决。
(2)当我们点击取消时,进入登录用户配置提示页面,在该页面中,tomcat提示我们需要在tomcat-user.xml文件中去配置我们的登录帐号信息。

4.1.4在tomcat-user.xml中配置远程服务器tomcat的账户信息
<

最低0.47元/天 解锁文章
8835

被折叠的 条评论
为什么被折叠?



