报错大概意思就是 该类初始化失败
大概率是缺少依赖的问题。
平时我们可能会更新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包,需要更新到线上。
感觉这种方法还是比较麻烦的,依赖多的话会很难受。文章来源:https://www.toymoban.com/news/detail-799459.html
但是目前没有更好的办法,可以解决问题的目的达到了,就可以了吧文章来源地址https://www.toymoban.com/news/detail-799459.html
到了这里,关于NoClassDefFoundError: Could not initialize class的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!