当前课程知识点:软件开发实训--动态网站开发 > 16 测试与发布 > 16.4部署运行 > 16.4.1部署运行
同学你好
欢迎回到软件开发实训课堂
上节课咱们已经完成了打包发布
那么我们打包后是否可以正常的使用
我们首先来看一下jar包的使用
首先确保你的环境
它的相关运行是停止的
否则的话就会发生端口的冲突
无法去启动
确保没有环境中的运行后
我们就可以开始去查看我们自己的发布的
软件的项目包了
首先打开命令行工具
进入到发布的目录
在我们这个目录下
有一个Jar文件
我们就可以这样去运行它
首先Java
命令行
参数/jar
然后我们需要运行的包名
输入完成后回车
你就能看到这个标志已经出现了
在运行的过程中
如果有异常
你也能看到exception这样的提示
如果说启动完成
在最后一行
你能够看到StartedApplication
这说明已经运行成功了
现在你可以打开浏览器去浏览
它的端口号
默认也是8080
这样我们就访问到了我们的前台页面
那么是否能够登陆后台
也可以输入我们后台的地址
进入
这样它也能够正常进入了
说明我们的发布jar包是成功的
也就是说我们现在已经将jar包部署起来了
脱离了我们的开发环境
那么我们的var包是否也能够正常运行的
这需要借助于外部的web服务器
首先我们将var包复制出来
把它放到我们的外部容器
tomcat-8.0-30这里
在tomcat的安装目录下有一个webapps
这样的目录
我们把var包复制到webapps这个目录下
就是将它部署到tomcat上了
这个文件名可以改一下
这样
我们的var包在tomcat启动时
会自动的解压
但是这里需要说明一点
那就是我们的应用在开发的时候
尤其是前端
它并没有去依赖我们的上下文路径
而这样一旦解压后
它的上下文路径就是mysites
而不是根目录了
所以我们在访问时必然会存在一个问题
那么我们先来看发布
它会遇到什么问题呢
启动tomcat之后
我们来看它运行有一个叫mysite
这个不是我们要的
这个是开发环境自带的一个发布
那么在哪里可以删掉
打开我们用的tomcat的配置文件夹
在它的配置文件夹里
我们可以删掉mysites.xml
这也是我们开发时用的发布的应用
已经在这里不能用了
我们需要用到的是我们自己的发布后的应用
删除后我们重新启动
好
上面的错误不是我们应用引起的
我们先来看一下
mysites.var包的解压
解压后抛出了异常
这说明我们的应用在发布过程中是有错误的
我们来看一下
好
在错误信息里面
一般情况下
你一定要仔细的去从下往上找
去看一下错误内容
在这里有一个提示
不能打开ServletContext的资源
application.properties
这个意思是说我们的var包它发布后
找不到我们配置文件
这个需要注意一下
springboot它在打成var包后
加载的配置文件是通过
serverlate上下文来获得配置文件的
serverlate上下文来获得配置文件的
我们来看一下
进入到发布的目录
那么上下文的路径就是这个mysites目录
所以我们找到我们的Application.properties
把它复制一份
放到我们的根目录下mysites目录下
这是它要找的位置
然后我们重新启动
地址已经存在
也就是说我们tomcat的有运行的
好
这上面的错误消息跟我们的项目没有关系
它是
地址绑定已经被使用了
也就是说有多个tomcat在运行
我们重新启动一下
看看tomcat在哪里
我们刚才运行的服务并没有停下来
没有关闭
所以当我们启动外部容器的时候
出现了地址冲突
把我们刚才启动jar包关掉
然后重新启动我们外部tomcat
这样错误就消失了
但是错误消失后
我们再启动时
它又出了新的错误
注意看
这个错误提示是无效的字节
看一下无效的字节
一般发现这种错误的时候
通常是你的编译的版本和运行的版本
发生了不和
就是说它俩不兼容
有一个版本比较高
那就是它这个包
看一下包名叫byte-buddy
然后我们再看上面这个
jaxb-api
我们应该去换掉这两个包
好,关掉我们的服务
打开我们的开发环境
打开pom.xml文件
我们要降低我们的依赖的版本
好
看一下
展开依赖
找到那两个包
一个叫byte 1.9.10
还有一个
jaxb-api这两个我们需要把它的包的
版本号降低
这样呢我们就换掉了原来高版本的文件包
可以看一下
这里是1.9.10
然后我们保存
环境会重新编译我们的项目
如果重新编译后
这个高版本的没有消失
低版本的也没有进来
那么我们就需要重新去通过依赖来进行构建
看一下
低版本已经进来了
而高版本的很明显已经消失了
好
我们就在环境中来运行一下
直接在项目名称上点击右键运行
然后它会弹出一个选择部署服务器的对话框
我们选择我们tomcat8确定
好
这里是说我们的版本还是很高
这要注意删除掉我们原来部署的文件
删除后
我们在项目名称上点击右键
防止它没有更新
我们做一次清理并构建
注意看它的输出信息构建过程中
复制文件
那么它在打var包的时候
你要注意它比jar包多了一个文件夹
看一下
这个文件夹在我们的项目中体现在哪里呢
就在这
web页
这就是多出来的文件
为了我们免去复制
我们提前把这个包
把我们的配置文件给它放在web页下
这样它自动的就会进入到
serverlate上下文环境中
就不需要我们再去复制它
好
我们来运行一下
它已经开始部署看一下路径
就是我们的tomcat开始启动
好
页面没有打开
是我们依然看到有一个错误发生
说我们的路径
index.html
没有用一个斜杠字符
这里我们加上斜杠
看一下
很明显它已经运行了
但是出来没有出来
是因为我们的项目缺少上下文环境的路径
所以你可以在浏览器的开发工具中看到
后台向前台传送数据的这些个访问都是404
没有找到
这个问题是什么原因呢
这是因为我们在编写程序时
并没有将我们的上下文环境放入到我们的
index.html文件中来
我们没有把它放到这里来
那么怎么来解决这个问题呢
那么最好的办法就是把index.html
作为模板文件
用simleaf来动态的去计算这个路径
这是最好的办法了
这样的话打包后你就不需要去更换
第二种方式也比较简单的方式
通常我们发布应用很少说是使用虚拟目录来做
通常情况下我们建一个网站
都是直接放在根目录下去创建
所以我们可以这样去做
将我们的开发工具的服务器停止掉
打开我们的tomcat目录
删掉开发工具生成的网站信息
进入我们网站的target目录
把var包复制出来
放到我们的tomcat下
这个ROOT是空的
我们把我们的包名改成ROOT
现在我们来运行tomcat
进入target
好
这里已经有了
有了我们把刚才var包给它替换掉
先确保我们的开发环境
以及tomcat没有运行
然后再去删除它
否则的话你删不掉
粘上
修改我们的文件名
重新启动tomcat
看到这个spring的标志
我们就知道它已经开始启动了
启动的过程中注意观察它是否有异常
好
启动完成
打开浏览器
我们来看一下
这次我们是用root目录
所以我们直接来访问看一下
我们的网页已经出现了
这就是说我们的var包发布已经成功
登录后台
看一下是否可以正常登录
输入账号名
密码
也能够成功的登陆
并能够浏览数据
说明我们的var包也是发布成功的
好
这就是关于我们发布后的部署问题
就讲到这里
好
关于发布后的部署运行
我们就讲完了,这门课也就讲完了
那么非常感谢你的学习
希望这门课能够带你进入软件开发的大门
在后期的学习中有任何问题
可以进入到我们的课程论坛
提问
再次感谢
我们再见
-1.1课程介绍
--1.1.3随堂测试
-1.2网站需求分析
--1.2.4随堂测试
-1.3网站首页分析
--1.3.3随堂测试
-1.4导航菜单分析
--1.4.3随堂测试
-1.5内容区域分析
--1.5.3随堂测试
-1.6内容副页面分析
-1.7编写需求文档
-2.1后端页面总体分析
--2.1.3随堂测试
-2.2用户管理功能设计
--2.2.3随堂测试
-2.3内容与分类功能分析
--2.3.3随堂测试
-2.4网站配置功能设计
--2.4.4随堂测试
-2.5数据库及表结构分析
-总体设计文档
-3.1前台模板约定
--3.1.3随堂测试
-3.2网站配置接口设计
--3.2.3随堂测试
-3.3菜单接口设计
--3.3.3随堂测试
-3.4内容接口设计
--3.4.3随堂测试
-3.5幻灯片接口设计
--3.5.3随堂测试
-补充设计文档
-4.1用户管理功能设计
--4.1.3随堂测试
-4.2菜单管理功能设计
--4.2.3随堂测试
-4.3内容管理功能设计
--4.3.3随堂测试
-4.4网站配置信息设计
--4.4.3随堂测试
-完成设计文档
-4.6随堂测试
-5.1开发环境搭建
--5.1.2随堂测试
-5.2Web前端环境搭建
-5.3创建用户实体
--5.3.2随堂测试
-5.4用户实体表创建与初始化
--5.4.2随堂测试
-5.5用户数据访问接口实现
--5.5.2随堂测试
-5.6环境搭建问题
-6.1用户服务层接口实现
--6.1.2随堂测试
-6.2用户列表和编辑控制器实现
--6.2.2随堂测试
-6.3用户存储和删除控制器实现
-6.4用户添加、编辑界面实现
-6.5用户管理添加用户调试
-7.1用户查询模板实现
--7.1.2随堂测试
-7.2用户信息编辑的实现
-7.3单个用户删除实现
-7.4多个用户删除实现
-8.1用户列表分页基本实现
-8.2用户列表查询结果分页实现
-8.3通用日期处理
-8.4整型日期处理
--8.4.2随堂测试
-8.5枚举数据的应用
-9.1登录逻辑实现
--9.1.2随堂测试
-9.2登录界面及流程调试
--9.2.2随堂测试
-9.3管理主界面实现
--9.3.2随堂测试
-9.4授权验证拦截器实现
--9.4.2随堂测试
-9.5拦截器调试
-10.1分类接口实现
-10.2分类添加、编辑实现
-10.3分类树结构实现
-10.4分类删除实现
--10.4.2随堂测试
-11.1内容实体定义
-11.2相关接口定义
-11.3服务接口实现
-11.4内容添加、编辑模板实现
-11.5内容添加、编辑控制器实现
-11.6内容检索页面实现
-11.7内容分类树实现
-12.1修改UEditor相关问题
-12.2整合UEditor到内容编辑界面
-12.3UEditor图片对话框应用
-12.4文件上传问题处理
-13.1网站配置相关类实现
-13.2网站配置界面模板实现
-13.3网站配置调试
-14.1网站首页布局实现
-14.2菜单Vue组件实现
--14.2.2随堂测试
-14.3幻灯片Vue组件实现
-14.4滚动Vue组件实现
--14.4.2随堂测试
-14.5滚动接口实现
-14.6滚动接口调试
-14.7幻灯片接口实现
-15.1首页区域实现
-15.2首页内容脚本实现
-15.3首页完善
-15.4Vue组件放入单文件
-15.5详细页面实现
-16.1网站测试介绍
-16.2功能测试
-16.3打包发布
-16.4部署运行
--16.4.2随堂测试