0


NoClassDefFoundError: Could not initialize class

报错大概意思就是 该类初始化失败

大概率是缺少依赖的问题。

平时我们可能会更新pom文件,下载新增的依赖,然后将新下载的依赖更新到线上的系统,也是问题的所在:

举例说明:例如我们新增如下的依赖


        <!--获取系统CPU等信息-->
        <dependency>
            <groupId>com.github.oshi</groupId>
            <artifactId>oshi-core</artifactId>
            <version>3.9.1</version>
        </dependency>

按常规处理,我们可能会去本地的maven仓库,把该依赖复制,更新到线上系统。

但是这样可能会遗漏jar包,因为这个jar包还可能依赖于其他jar包

** 正确的做法,应该是这样(相对于目前我已知的解决办法):**

** 点进去(按住Ctrl,然后鼠标点击),看看是否有依赖的jar包**

查看是否有 <dependencies> 标签,有的话,证明该jar包依赖于其他jar包,这里是有的

** 所以,在线上更新的时候,该jar包也需要更新到线上的,如果不更新,就会出现题目开始的异常**

**NoClassDefFoundError: Could not initialize class **

接下来我们继续点进去,看 jna-platform 是否还有依赖的jar包,如果有,同样需要更新到线上,

依次类推,直到没有<dependencies> 标签出现为止

点进去,发现改jar包也有依赖

按照上面的步骤,继续点进去查看jna是否也有依赖的jar包,进去之后发现没有了<dependencies> 标签,也就没有依赖的jar包了

到此为止,需要更新的jar包就全部找到了

oshi-core jna-platform jna 三个jar包,需要更新到线上。

感觉这种方法还是比较麻烦的,依赖多的话会很难受。

但是目前没有更好的办法,可以解决问题的目的达到了,就可以了吧

标签: eureka java postman

本文转载自: https://blog.csdn.net/weixin_42488402/article/details/123355054
版权归原作者 夏夜里的晚风。 所有, 如有侵权,请联系我们删除。

“NoClassDefFoundError: Could not initialize class”的评论:

还没有评论