Marco's Java【Maven入门(五) 之 Maven项目的自动部署】

前言

学习了这么久的web开发,不知道大家有没有发现一个问题,就是每当我们的项目重新部署的时候,比方说配置文件修改了之后,必须要将tomcat重启之后生效,大家试想一下我们做的还是微型项目,启动起来可能还会花费不少时间,那么如果是企业级项目,或者是用户量比较大的电商项目的时候,那肯定不能用重启tomcat这种方式了。

那么本节,我们就要换种方式完成项目的更新,名为 — Deploy部署

关于Tomcat的再次说明

之前我们已经学习过Tomcat,为什么要对Tomcat再次说明呢?
因为本次我们掌握的部署原本就是Tomcat的一种操作方式,只不过之前我们没有用到而已,那么借助此次机会,我们再回顾一下Tomcat中的webapps工作空间的构成吧~
在这里插入图片描述

Docs:文档

Examples:示例

Host-manager :本机管理

Manager :项目发布不熟等等的在线管理

Root:用户访问http://intAddress:port/可以直接访问到的项目

之前在讲tomcat的时候提到过,当我们访问 http://intAddress:port/ 比方说 http://127.0.0.1:8080/ 的时候,我们会进入到下面这么个页面。在这里插入图片描述
这个页面的所有内容其实都在Root中,大家可以试着输入 http://127.0.0.1:8080/docs/ ,就会进入下面这个页面
在这里插入图片描述


关于Tomcat的项目部署

这个时候大家会不会有疑问,就是这些内置的项目并没有在我们启动tomcat的时候add进来,但是却能够运行?

其实大家不妨这么去做,先随便找一个web项目,然后使用Maven install这种方式对项目进行打包
在这里插入图片描述
在这里插入图片描述
成功之后大家可以方式我们项目最下面的目录target中会多出很多文件夹,和一个.war文件
在这里插入图片描述
除了.war文件,其他都是我们项目启动的时候需要依赖的一些环境,比方说jar包,静态资源文件和插件,那么这个.war就是我们的war包(Web项目的打包方式),这个war包是可以被解压的。大家可以试着解压一下会发现里面就是我们这个项目的web目录
在这里插入图片描述
现在我们做一个实验,照葫芦画瓢,既然你的ROOT项目丢到webapps目录下,启动的时候可以直接运行,那么我把已经打好的war包丢进去是不是能够运行呢?
在这里插入图片描述
其实大家不妨试试,这样操作我们的项目是可以运行的,这里我就不演示啦。

那么讲到这里我们就要切入正题了,也就是Tomcat中的部署,其实在之前没有Maven实现自动部署的时候,当项目版本更新之后,负责项目的人员都会将最新版本的项目打成war包,然后转交给专门负责项目发布的人员,那么他就会进到tomcat的主页,点击Manager App进行项目的部署,这样做的话,tomcat就不用再重启(大型项目的tomcat重启是很耗费时间的)
在这里插入图片描述
那么点击这个按钮我们会发现,需要我么输入账号密码?那么这个账户在哪里配置呢?
点开apache-tomcat的conf文件夹,我们可以找到tomcat-users.xml文件,在这里面配置用户信息
在这里插入图片描述
点开文件之后我们在最下面配置用户的信息,除了username和password,其他的都不要改动
在这里插入图片描述
配置完成后我们再重启一遍tomcat,试着登录一下,可以进到下面的汤姆猫管理界面
在这里插入图片描述
我们试着找到下面的项目部署按钮,将我们之间打好的war包上传
在这里插入图片描述
不难发现,我们的项目在部署列表中已经存在了
在这里插入图片描述
我们试着访问一下项目 http://127.0.0.1:8080/carrent_plus/(部署名)
在这里插入图片描述
项目成功登录,没有问题!我们再看看项目部署列表的最右边有三个按钮,根据字面意思很容易理解,分别是 停止、重载和解除部署,这里提一下Undeploy,点击Undeploy就相当于把项目下线,点击后我们会发现,项目在列表中被移除。
在这里插入图片描述

当我们再次访问 http://127.0.0.1:8080/carrent_plus/(部署名) 的时候,就会进到我们朝思暮想的404页面啦!
在这里插入图片描述


Maven项目的自动部署

前面铺垫了这么多,主要是像让大家了解Maven项目的自动部署的原理,说是自动部署,其实底层还是使用的tomcat的这种部署方式,调用了tomcat部署项目的接口,那么有了前面的学习,接下来理解起来就容易的多啦~

第一步:配置settings.xml
首先我们进入到之前配置过Maven的jar包仓库的settings.xml文件,在servers中添加如下配置

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

在这里插入图片描述

第二步:修改项目配置pom.xml

接着修改项目的pom.xml

<plugin>
	<groupId>org.apache.tomcat.maven</groupId>
	<artifactId>tomcat7-maven-plugin</artifactId>
	<version>2.2</version>
	<configuration>
		<!--解决页面提交数据乱码问题 -->
		<uriEncoding>UTF-8</uriEncoding>
		<!-- tomcat插件的请求端口 -->
        <port>8080</port>
        <!-- 指tomcat的manager项目的访问地址     
        http://127.0.0.1:8080/manager
        text必须要加,不加的话,使用maven打包的话不能帮我们把项目部署到tomcat7里面
         -->
        <url>http://localhost:8080/manager/text</url>
        <!-- tomcat的登陆名和密码 -->
        <username>admin</username>
        <password>admin</password>
        <!-- 打成war包的名字 -->
        <path>/marco</path>
	</configuration>
</plugin>

接着我们来运行项目,注意,Goals要从 tomcat7:run 修改成 tomcat7:deploy
在这里插入图片描述
在这里插入图片描述
部署成功之后我们再次访问项目 http://127.0.0.1:8080/marco/(path) ,注意这里的访问地址和之前不一样了,是你在配置pom.xml中的项目部署或者说打成war包的名称
在这里插入图片描述
在这里插入图片描述
访问成功,没有问题!


知识补充库

到文章的最后,再给大家补充一点小知识啦,总是怕你们没学够~

mvn的命令启动
mvn tomcat7:run 使用pom.xml里面配置的插件启动
mvn tomcat7:deploy 使用外部的tomcat启动
mvn tomcat7:undeploy 删除外部的tomcat的部署
mvn install 打包
mvn build 构建项目【测试否运行】
mvn clean 清除项目【项目里面和target目录里面的所有内容】

如果大家按照我之前 Marco’s Java【Maven入门(一) 之 Maven的下载配置安装】 这篇博文配置过了环境变量,那么在小黑屏中使用这些命令也可以对Maven项目进行操作啦,简单了解一下就可以了,装X必备哦~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值