记录两次问题排查过程

这篇具有很好参考价值的文章主要介绍了记录两次问题排查过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、引入了一个第三方的jar包提供的能力,需要把三个官方的jar(transmittable、aspectJ等)引入项目,我放在了resource目录下,新建了一个lib。启动时对三个jar执行-javaagent命令。之前都没问题。同时该项目的测试和预发环境镜像也可以正常启动,但是prod环境报错镜像里找不到这三个jar。在镜像文件里对应路径下,又能找到三个文件名,遂不解。
起初以为是账号对镜像文件的权限不够,在dockerfile中加上命令

chmod 777 -R /绝对路径

递归赋权。赋权后变成了读写权限,但是依旧镜像无法启动,报错还是找不到jar。
思来想去,同事帮我排查发现jar的大小不对,在打包过程中被篡改了,而在本地启动时,IDEA可能阻止了这一操作。在部署过程中,编译镜像时篡改了对应jar包。具体原因可能是pom文件中写了build相关操作,为了dubbo打包时候只打相关文件。

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.1.0</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <classifier>client</classifier>
                            <includes>
                                <include>/service/*</include>
                                <include>/vo/*</include>
                                <include>/result/*</include>
                                <include>/exception/*</include>
                                <include>/enums/dubbo/*</include>
                                <include>/model/*</include>
                            </includes>
                            <excludes>
                                <exclude>/service/impl</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>

于是找到解决办法,在src目录平级的地方新建lib目录,将jar包移到对应目录下,完美解决。

结论:
和项目代码逻辑无关的jar,还是单独和src平级放置,避免编译打包阶段出现jar篡改,如果不对比jar的大小,很难发现被篡改了。

二、还是引入第三方jar包。
在代码中http调用使用了mica第三方包装好的功能,HttpRequest,最后结果是asMap(Object.class)。引入之前,这个接收没问题,返回结果是Map<String,Object>,其中key1对应的value1也是HashMap。
但是当引入这个第三方jar的时候,这个asMap就有问题了,返回结果还是Map,但是key1对应的value1变成了scala中的HashMap,报了类型转换错误。
但其实在项目中并没有引入scala相关的依赖,遂用mavenHelper插件协助排查。发现kafka这个功能内部会继续依赖scala,而我们引入的第三方jar中也引入了kafka依赖,两个版本不一样,发生了冲突,scala版本也发生了冲突。
于是exclude第三方jar包中的kafka相关依赖,解决问题。
但是还是不知道为什么会影响到asMap这个方法,没有去深究。

结论:
引入第三方jar之后,如果有报错一定要检查是否有依赖冲突,合理利用mavenHelper插件,检测各种依赖。

总会有各种意想不到的bug和问题,总是在解决各种bug和问题的路上。。。。文章来源地址https://www.toymoban.com/news/detail-553287.html

到了这里,关于记录两次问题排查过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【主流技术】日常工作中关于 JSON 转换的经验大全(Java)

    目录 前言 一、JSON 回顾 1.1结构形式 二、其它类型 - JSON相关 2.1 JavaBean 转 JsonObject 2.2 JavaBean 转 Json 字符串 2.3 List 转 JsonArray 2.4 List 转Json 字符串 2.5Map 转 Json 字符串 三、JSON 相关 - 其它类型 3.1 Json 字符串转 JavaBean 3.2 Json 字符串转 JsonObject 3.3 Json 字符串转 List 3.4Json字符串转M

    2024年03月11日
    浏览(44)
  • 日常工作中常用的抓包工具都有哪些呢?

    大家好,今天我们一起来聊聊,在我们的日常工作中都有哪些抓包工具呢?你们平时工作中都在哪一款工具呢?一起学习交流。 一、Wireshark 这款抓包工具目前是使用最多的,分析网络交互非常方便 二、Fiddler,多数是使用在抓包手机的相关网络交互的网络包,目前也是非常流

    2024年01月20日
    浏览(54)
  • redis在日常开发工作中的常见用法

    redis是一款内存型数据库,在开发工作中经常用到,功能强大; 特别开一篇文章用来记录一下它的常见用法,算是一种总结; 它最主要的特点就是高可用的,速度快,分布式;有人说速度快,能有我本地的全局静态变量快?但是在大型的项目中,多个服务器部署时,其他服务

    2024年02月09日
    浏览(39)
  • Sqoop【实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)

    1️⃣ 查看所有命令【 sqoop help 】 2️⃣ 查看某条命令的具体使用方法【 sqoop help COMMAND 】 查询MySQL所有数据库,通常用于 Sqoop 与 MySQL 连通测试: 【具体参数可以使用 sqoop help list-databases 查看】实例: 结果: 【2个】WARN处理: 查询指定数据库中所有数据表,这里要注意一下

    2024年03月18日
    浏览(49)
  • 程序员日常|为什么我在开发工作中偏爱这款键盘?

    最近一直不断地有粉丝朋友们私信我,问我该如何给自己挑选一款适合程序员工作的键盘,于是今天来给大家介绍下我用的键盘。 程序员作为一个需要长时间敲代码的职业,没有一个趁手的键盘是不行的,往小了说是折损工作效率,往大了说就是在损伤自己的手,是对自己的

    2024年02月02日
    浏览(53)
  • ChatGPT在日常生活与工作中的应用,以及Hulu AI 的探索之旅

    在数字化快速发展的当下,人工智能技术已经成为我们不可或缺的一部分。特别是在信息过载的时代,AI 如 ChatGPT 等工具能够帮助我们更高效地处理信息,提升生活和工作质量。本文旨在探讨 ChatGPT 在不同领域的实用性,以及介绍一个集成了多种AI工具的平台——Hulu AI,它可

    2024年04月13日
    浏览(40)
  • ChatGPT会对我们日常生活带来什么影响?这些技术会改变我们学习阅读工作方式吗?

    AI 这个话题很火,我也一直在关注着,很多人甚至觉得 AI 会改变世界,也许你会好奇:ChatGPT 会在三年内终结编程吗?AI有可能改变人的学习方式吗?AI 能否取代打工人?本文会对相关问题从我们可见日常问题进行解答。 希望从:AI 辅助提高了人的阅读效率吗、AI能帮助人更

    2024年02月03日
    浏览(77)
  • 千兆宽带只剩下百兆了,记录一次排查过程

    事情是这样的:昨晚PUBG有大更新,但是下载的时候我突然发现速度只剩下10M/s左右了,用speedtest测了下只剩下了百兆宽带,我家明明是千兆宽带的。然后就开始了排查,没想到这一搞就是3小时。 这是排查前我家的网络拓扑: 几点说明: 1.全部网络设备都是千兆口,还有几个

    2024年02月05日
    浏览(49)
  • 日常问题记录-Android-Bug-OOM

    大家好哇,我是梦辛工作室的灵,最近的项目中,我又遇到了一个bug,就是我写了一个类 将app会用到的Bitmap缓存起来进行管理,防止OOM嘛,不过莫名奇妙的事情还是发生了,内存依旧上涨,且没有释放 然后我就查到了获取缓存对象的那里的代码,打上了日志数据,然后就发

    2024年02月15日
    浏览(85)
  • 电脑会不定时的突然黑屏加显卡风扇狂转,记录一次排查过程

    电脑会不定时的突然黑屏加显卡风扇狂转,但是重新拔插显卡后又会恢复,并且因为我是把电源按钮设定为按下后睡眠,黑屏时按了电源键是可以正常进入睡眠状态的。 1 最开始出现这个问题的时候我在玩吃鸡,显卡满载并且开着七彩虹的一键超频功能。首先怀疑是功耗太高

    2024年02月12日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包