将Maven项目热部署到远程tomcat中
文章目录
- 将Maven项目热部署到远程tomcat中
- 1.解决方案:
- 2.实现
- 3.Tomcat中的Root项目的配置和使用
- 4.在tomcat-user.xml中配置远程服务器tomcat的账户信息
- 5.修改 IP 访问权限
- 6.登录ROOT项目,使用Manager App功能管理tomcat中的项目资源
- 7.maven远程上传war项目的配置和使用
- 7.1注意
- 8tomcat虚拟目录配置
- 9.参考文档
- 10.视频教程
1.解决方案:
由我们自己将修改后的war包上传到linux中,变为由maven帮我们实现。
(1)当我们的项目发生资源变更时,我们会在本地使用Maven对项目资源进行重新打包.
(2)打包后,我们再次使用maven将项目新的war包上传到linux中的tomcat中。
2.实现
(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项目,不需要我们自己开发了。
3.Tomcat中的Root项目的配置和使用
(1)启动远程tomcat服务器
(2)访问tomcat服务器的首页(即广告页,相当于我们的项目A)
tomcat自带的ROOT项目,是tomcat自带的一个web项目。
我们可以通过浏览器访问,然后在浏览器中管理tomcat中的项目资源。
(3)点击tomcat首页的Manager App
a.当我们点击Manager App时会先提示我们进行登录,在登录界面中输入帐号与密码即可进入到项目资源管理页面。
b.当我们点击取消时,进入登录用户配置提示页面,在该页面中,tomcat提示我们需要在tomcat-user.xml文件中去配置我们的登录帐号信息。
4.在tomcat-user.xml中配置远程服务器tomcat的账户信息
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin"
roles="manager-gui,manager-script,manager-jmx,manager-status" />
5.修改 IP 访问权限
(1)关闭远程服务器的防火墙
(2)即解决使用ip地址访问被拒绝的问题
参考文档
(3)修改 /webapps/manager/META-INF/ 目录下的 context.xml 文件,而不是 /conf/ 目录下的 context.xml(一定要注意!!!)
将 allow开头的这一行
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
修改成
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />
6.登录ROOT项目,使用Manager App功能管理tomcat中的项目资源
7.maven远程上传war项目的配置和使用
<!--8.插件统一管理,在子模块中去引用--><pluginManagement><plugins><plugin><!--(3)tomcat插件的坐标--><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><!--3.1maven远程热部署配置,以下配置均是给Maven自己看的--><!--(1)远程tomcat服务器Manager App管理页面请求--><url>http://192.168.10.6:8080/manager/text</url><!--(2)访问远程服务器tomcat的web项目的用户名与密码--><server>tomcat9</server><username>admin</username><password>1234</password><!--(3)发布的路径,与tomcat管理目录中的路径对应,/表示发布到根目录--><path>/gengducun</path><!--<update>true</update>会将发布目录下的数据清空--><update>true</update></configuration></plugin></plugins></pluginManagement>
(1)在maven项目的插件配置pom.xml中配置项目远程部署的参数信息。(如上)
(2)启动远程部署
也可以建立专用的热部署任务
(3)在本地浏览器中访问远程服务器下的tomcat项目即可
7.1注意
(1)在使用maven远程部署项目时,一定要确保linux下的tomcat是开启的。
(2)tomcat:run命令表示的是本地运行项目。
(3)我们去运行的是maven给我们当前项目集成的tomcat,不再是从tomcat官网下载的那个tomcat,是我们当前这个web项目的maven给它配置了一个插件,给当前项目用。
8tomcat虚拟目录配置
<Context docBase="E:\upload" path="/pic" reloadable="true"/><Context docBase="E:\download" path="/file" reloadable="true"/>
注意:不要加中文注释,不然无法启动tomcat
9.参考文档
参考文档
10.视频教程
视频教程