docker部署spring项目时出现mysql连接异常

1 问题前情

这两天把之前的项目改了改想重新部署一下,结果部署之后发现后端服务报mysql连接异常,像下面这样。我在网上搜了很多方法,有说要添加 useSSL=false的,有说添加时区的,我都试了一遍结果还是报一样的错误

Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

2 问题发现

这个时候我就觉得很奇怪,本地测试环境都能跑起来正式环境不应该有问题呀,然后我就用反编译工具把打好的 jar 包打开看里面的内容,结果发现里面的数据库配置信息没有改变而且环境还选的是 dev 的

4 分析问题出现的原因

mavenclass 文件进行打包,当我们修改文件后本地看起来是新代码,但是 class 文件中还没有变化,因此打包后的 jar 包还是修改之前的内容,从而导致发布失败(这是我的个人理解)

3 问题解决

  • 首先回到IDEA中,点击右上角绿色的 小锤子 按钮,对代码进行重新编译
  • 然后使用maven对代码进行打包
  • 此时重新发布到docker上运行就不会有问题啦

谨以此文献给和我一样碰到困难的朋友们

PS:本文仅代表个人观点,仅供参考,如果有不合适或理解错误的地方欢迎在评论区指正

你可能感兴趣的:(Java,mysql,docker,spring)