











现在使用Spring Boot架构的应用开发来说是非常的普遍,统一化的打包部署确实带来不少便利,但当遇到问题时也是会比较棘手。或许你会觉得很惊讶,但如果说这是产品部署运维过程中遇到的难题需要修改Spring Boot应用程序,你就会觉得困难也是不奇怪的。本文就来分享下如何使用jar命令应对线上部署产品时,要临时替换Spring Boot应用中的Jar包的操作。
在测试环境部署某个产品应用时,在最后启动时遇到失败,查看并分析启动日志,发现了如下的堆栈日志信息:

看到此MySQL驱动的类名,当时心中已经有了答案,估计肯定是因为高版本的MySQL驱动程序不兼容低版本的MySQL Server所引起的。接下来使用如下的 jar 命令进一步确认下便是:
| |
当前测试环境使用的 VM 集成镜像,里面很多组件版本相对比较低,但一直使用都没有问题也未曾再升级。
从上面错误的堆栈日志中有看到DruidDataSource字样,猜测此开发使用了Druid数据库连接池,那还是很有希望的,因为Druid数据库连接池有个自动适配数据库驱动程序类的能力特性,但愿开发在写代码时没有使用硬编码的形式。
网上搜索了一些关于 jar 命令如何打包有主运行程序的JAR包后,便着手开始替换MySQL程序的工作。相关步骤如下:
spring-boot应用程序 | |
MySQL高版本驱动 | |
| |
classpath.idx文件中的JAR列表 | |
| |
最后就是重新启动应用程序,“万幸”我们的程序员们没有写硬编码,启动成功,如愿进入到了产品的操作界面,功能使用也一切正常。
参考文章:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。