java.lang.NoClassDefFoundError: Could not initialize class xxx 原因
一、问题及原因
程序里有个工具类,主要是调用它的静态方法来发送mq。
调用场景如下:

结果这两天报了个错:
java.lang.NoClassDefFoundError: Could not initialize class com.ceiec.rabbitmqservice.utils.MQMessageSender
后来大概看了下,这个类的class文件是存在的。而且报的错也不是class找不到之类的。
翻了下svn记录,发现新增了一个static变量,这个变量的初始化会失败。(因为spring配置文件忘配置了)
把配置文件改了就好了。
所以,这个问题原因就是static变量的初始化失败导致。
这里,也可以看出加载时机,因为在程序启动过程是没报错的。是实际代码走到这个地方的时候,发现需要调用该类的静态方法,但是呢
发现该类还没有被加载,于是进行加载、初始化等。

二、参考资料
java.lang.NoClassDefFoundError: Could not initialize class xxx 原因的更多相关文章
- java.lang.NoClassDefFoundError: Could not initialize class xxx
		
感慨:啊啊啊啊啊啊啊啊啊啊,这个问题弄了我好久,整整一天!!! 概述:原本是调用公司自己写的jar包的工具类.在其他项目都能调用,一模一样的套用过来就是不行.问了一些同事他们也不知道怎么解决. 然后百 ...
 - hibernate 解决 java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.internal.engine.xxx 这类的问题
		
<!-- 解决 java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.intern ...
 - java.lang.NoClassDefFoundError: Could not initialize class异常处理
		
借鉴:http://blog.csdn.net/sleepdancer/article/details/9207425 static { InputStream in = XXX.class.getR ...
 - Java 上传文件到 SFTP 抛异常 java.lang.NoClassDefFoundError: Could not initialize class sun.security.ec.SunEC 的解决办法
		
最近从 Op 那里报来一个问题,说是SFTP上传文件不成功.拿到的 Exception 如下: Caused by: java.lang.NoClassDefFoundError: Could not ...
 - 异常:Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.log4jdbc.Properties
		
参考文章: 使用Log4jdbc-log4j2监听MyBatis中运行的SQL和Connection 使用 log4jdbc格式化输出SQL,maven配置如下: <dependency> ...
 - java.lang.NoClassDefFoundError: Could not initialize class net.sf.json.util.JSONUtils
		
页面报错: root: java.lang.NoClassDefFoundError: Could not initialize class net.sf.json.util.JSONUtils 出错 ...
 - 异常-----java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.core.KeyFactory
		
SSH 类库问题 java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer2009- ...
 - java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart
		
最近在进行利用jfreechart生成图表时发现,项目在本地运行的好好的,一部署到服务器(linux系统)上就不行,报这样的错误: java.lang.NoClassDefFoundError: Co ...
 - exception java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
		
exception java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironmen ...
 
随机推荐
- SOFA企业应用框架
			
前言 从业这么多年,接触过银行的应用,Apple的应用,eBay的应用和现在阿里的应用,虽然分属于不同的公司,使用了不同的架构,但有一个共同点就是都很复杂.导致复杂性的原因有很多,如果从架构的层面看, ...
 - ★Wireshark基本介绍和学习TCP三次握手
			
之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS. 这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包. 记得大学的 ...
 - 16 go操作Mysql
			
mysql模块下载 mysql模块我们从github上下载,地址为:www.github.com/go-sql-driver/mysql go get "github.com/go-sql- ...
 - Salience Model
			
Who is a stakeholder? Simply anyone with a stake in the project either direct or indirect. PMBOK say ...
 - Java正则表达式的使用和详解(上)
			
1.匹配验证-验证Email是否正确 public static void main(String[] args) { // 要验证的字符串 String str = "service@xs ...
 - 对SQL语句进行过滤的函数
			
/// <summary> /// 过滤SQL非法字符串 /// </summary> /// <param name="value">< ...
 - OC中Runtime浅析
			
近期了解了一下OC的Runtime,真的是OC中非常强大的一个机制,看起来比較底层,但事实上能够有非常多活用的方式. 什么是Runtime 我们尽管是用Objective-C写的代码,事实上在运行过程 ...
 - 创建Maven创建src/main/java提示反复
			
建立好一个Maven项目后.假设Java Resources资源文件下没有src/main/java目录,而且在手动创建这个文件时提示"已存在文件". 这说明,在这个项目配置中已经 ...
 - 【web端权限维持】利用ADS隐藏webshell
			
0X01 前言 未知攻,焉知防,在web端如何做手脚维护自己拿到的权限呢?首先要面临的是webshell查杀,那么通过利用ADS隐藏webshell,不失为一个好办法. 0X02 利用ADS隐藏web ...
 - 深入浅出MongoDB应用实战开发
			
写在前面的话: 这篇文章会有点长,谨此记录自己昨天一整天看完<深入浅出MongoDB应用实战开发>视频时的笔记.只是在开始,得先抛出一个困扰自己很长时间的问题:“带双引号的和不带双引号的j ...