zoukankan      html  css  js  c++  java
  • 记一次打包的诡异现象

    一、前情提要:

      今天线上打包,发现启动正常,但是访问异常,看日志也没有打印出什么异常信息。

      更新的微服务包访问的时候一直报出【403】,访问被拒

      项目架构:springBoot + maven

      

    二、机缘巧合:

      上午出现这个问题当场没有找到解决办法,明明启动正常怎么就访问不了?先放下了这个问题

      下午另一个项目调试,也是部署到服务器后,访问拒绝,当时怀疑打包配置有问题,我就在本地自己打了包部署上去,项目启动正常!!!

      这是怎么回事?使用比对工具首先发现,包里少了某些功能代码,但是这不该是影响运行的理由啊?

      之后再看其它的不同,发现依赖的一个基础包【common】里少了几个依赖包,并且mavne的pom配置也不尽相同

      【判定:是打包环节出了问题】

    三、后知后觉:

      现在想想,特定的包访问被拒绝,而所有的包都依赖【common】包,应该想到是特定包打包的时候,依赖包不一致导致的

      项目都是【eureka】的,不能访问,而不是报错,访问权限控制,不就是依赖的【common】包里的配置吗?

      所以,打包的话,尽量一次全打,哪怕只用其中一个,保证基础依赖包唯一

      单独打包的话,可能导致,引用了上次的【common】包,或者在本地存在的本身就有异常的【common】包

      【原因猜想-1:目标包是单独打的,基础依赖包出错】

      【原因猜想-2:打包的机器,maven工具出了问题,依赖错误或者依赖缺失】

     

    四、总结:

      针对这种框架,如果服务部署运行正常,而配置又没有问题的话,好好的就是不能访问,那么就【重新打包】试试,说不定就好了

      不要钻死胡同,一切都正常了,无法排查原因了,就不要自己瞎想了

      看着正常,但是不行,那就换一个试试,不要纠结,换一个好了,就对比,看哪里不一样,方便下次排查

      

      

      

  • 相关阅读:
    一致性哈希算法
    Discourse 的标签(Tag)只能是小写的原因
    JIRA 链接 bitbucket 提示错误 Invalid OAuth credentials
    JIRA 如何连接到云平台的 bitbucket
    Apache Druid 能够支持即席查询
    如何在 Discourse 中配置使用 GitHub 登录和创建用户
    Apache Druid 是什么
    Xshell 如何导入 PuTTYgen 生成的 key
    windows下配置Nginx支持php
    laravel连接数据库提示mysql_connect() :Connection refused...
  • 原文地址:https://www.cnblogs.com/hackxiyu/p/9295616.html
Copyright © 2011-2022 走看看