FAQ(48):java.lang.NoClassDefFoundError: Could not initialize class com.smbms.controller.IndexControl

运行报错【java.lang.NoClassDefFoundError: Could not initialize class】:这儿的原因是Mapper xml中SQL标签的id重复了。 运行时发现报错信息是169行 然后,检查169行的代码(自然包括169行调用的代码啦)并没有发现明显的问题,然后我们可以注释掉169行的代码,然后重新运行,比如: 此时的运行报错信息如下: "C:\Program Files\Java\jdk1.8.0_162\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2019.3. 阅读详情

2018/1/5

看Log:

exception
javax.servlet.ServletException: Servlet.init() for servlet springmvc threw exception
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
	org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2527)
	org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2516)
	java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	java.lang.Thread.run(Unknown Source)


root cause
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hello' defined in class path resource [springmvc-servlet.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class com.smbms.controller.IndexController
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1155)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1099)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
	org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
	org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
	org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
	org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
	org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
	org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
	org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
	org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
	org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
	org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
	org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
	javax.servlet.GenericServlet.init(GenericServlet.java:158)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
	org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2527)
	org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2516)
	java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	java.lang.Thread.run(Unknown Source)


root cause
java.lang.NoClassDefFoundError: Could not initialize class com.smbms.controller.IndexController
	sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	java.lang.reflect.Constructor.newInstance(Unknown Source)
	org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
	org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1147)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1099)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
	org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
	org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
	org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
	org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
	org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
	org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
	org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
	org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
	org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
	org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
	org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
	javax.servlet.GenericServlet.init(GenericServlet.java:158)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
	org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2527)
	org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2516)
	java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	java.lang.Thread.run(Unknown Source)


解决:

【1】首先是要搞清楚哪里引发了bug:最内层的bug是 NoClassDefFoundError--

 Could not initialize class com.smbms.controller.IndexController
初始化我的 IndexController 失败。然后我查了一下 “NoClassDefFoundError 和 ClassNotFoundException 的区别”,得出以下结果:

(1)我们经常被java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError这两个错误迷惑不清,尽管他们都与Java classpath有关,但是他们完全不同。

(2)NoClassDefFoundError发生在JVM在动态运行时,根据你提供的类名,在classpath中找到对应的类进行加载,但当它找不到这个类时,就发生了java.lang.NoClassDefFoundError的错误;

(3)ClassNotFoundException是在编译的时候在classpath中找不到对应的类而发生的错误。

(4)ClassNotFoundException比NoClassDefFoundError容易解决,是因为在编译时我们就知道错误发生,并且完全是由于环境的问题导致。而如果你在J2EE的环境下工作,并且得到NoClassDefFoundError的异常,而且对应的错误的类是确实存在的,这说明这个类对于类加载器来说,可能是不可见的。



【2】理顺异常的发送情况后,确定是controller的问题。
然后我在源代码中发现使用了log4j包,并且声明并使用了static变量。

	static Logger log = Logger.getLogger(IndexController.class.getName());
	log.debug("****************8hello,springmvc!");


【3】注释掉该段落后,bug消失。(还有两个问题,一是springmvc 的日志调试使用哪个包呢?二是去掉static后我把log变量移动到 handleRequestInternal() 方法内后依旧报错,后续解决!)


【4】参考博文:

1. http://blog.youkuaiyun.com/kikyo_wp/article/details/62216796 ;

2. http://blog.youkuaiyun.com/jamesjxin/article/details/46606307;



复信号的调制与解调(基带) Digital modulation methods can be considered as digital-to-analog conversion and the corresponding demodulation or detection as analog-to-digital conversion. 数字调制可以看成是数字到模拟的变换,同样,数字解调也可以看作是模拟向数字的转换。 阅读详情

相关推荐

SAP PP CSAP_MAT_BOM_MAINTAIN ECN 增加组件

SAP PP CSAP_MAT_BOM_MAINTAIN ECN 增加组件。

GAVIN 409

解决java.lang.NoClassDefFoundError: Could not initialize class方案

解决java.lang.NoClassDefFoundError: Could not initialize class方案问题描述:昨天上午来了,同事反应有个页面数据显示为空,最终在上午10点的这个节点查找两个相关微服务的日志,最终定位在assetserver微服务上,下面贴出的是服务器上的错误日志:2018-06-12 10:03:34 [http-nio-8107-exec-3] ERROR...

life is wonderful 12万+

中文文本纠错实战:pycorrector与kenlm的安装与高效使用指南

本文提供了一份详细的中文文本纠错实战指南,重点介绍了pycorrector与kenlm的安装与高效使用方法。内容涵盖从编译环境准备、依赖安装到核心参数调优、批量处理及领域自适应等全流程,旨在帮助开发者快速部署并优化纠错系统,提升中文文本处理的质量与效率。

weixin_29055699的博客 411

java 异常之java.lang.NoClassDefFoundError: Could not initialize class

异常处理之java.lang.NoClassDefFoundError

冷萃美式的博客 2万+

《Linux运维总结:Ubuntu22.04忘记root密码解决方案》

《Linux运维总结:Ubuntu22.04忘记root密码解决方案》

东城绝神 4459

Linux单独编译设备树,开发者分享 | Petalinux 工程中设备树的介绍

本文来自XILINX嵌入式产品应用工程师 Terry Ni设备树是 Petalinux kernel 的关键组件,接下来以 2020.1 版本为例,为大家介绍一下在Xilinx Petalinux 工程中的设备树是如何产生,配置以及修改的。Petalinux 工程中设备树的位置当我们创建了一个 petalinux 工程后(以zcu102为例),在编译的时候,会自动生成对应的设备树文件。这些设备树的...

weixin_28877107的博客 2589

CDH flink命令行启动yarn-session报错java.lang.NoClassDefFoundError: Could not initialize class org.apache.ha

系统环境 错误排查 ./bin/yarn-session.sh 2020-07-09 11:22:01,187 INFO org.apache.flink.configuration.GlobalConfiguration - Loading configuration property: gateway-port, 0 2020-07-09 11:22:01,327 ERROR org.apache.flink.runtime.security.modules.HadoopModu

BertramLAU的专栏 5051

IEC 62061 总结与适用范围

IEC 62061 是国际电工委员会(IEC)制定的。

cactusDaYe的博客 1082

java.lang.NoClassDefFoundError: Could not initialize class xxx

最近碰到这样一个报错,java.lang.NoClassDefFoundError: Could not initialize class xxx ,就是不能初始化一个类。位置是在调用一个类的静态方法的时候。本来想的是可能依赖冲突,导致不知道用哪个类,然后没有发现依赖冲突。 后来发现,每次执行报的错不一样,第一次报的是不能从spring的类没注册的异常。后来发现是BlobStorageFileU...

qq_41184055的博客 2864

CANoe之I/O功能采集电压

在进入ECU自动化测试中,有时会用到采集ECU电压,CANoe除了可以仿真、监听CAN、ETH、LIN等网络报文外,部分设备(如VN5650、VN1630等)上还有一个I/O口,这个I/O口就可以用来满足我们自动化测试中采集电压的需求。CANoe上的I/O功能用处还是特别大,比如网络管理测试、相关诊断都会用到。

测试领域技术分享 4826

使用 MATLAB/Simulink + Simscape Electrical,构建一个含储能的微电网系统,实现储能系统与并网逆变器的协同控制

摘要:本文基于Simulink平台,详细介绍了微电网中储能系统与并网逆变器的协同控制建模与仿真方法。主要内容包括:1)构建包含光伏、风电、锂电池和双向DC-DC变换器的微电网系统;2)设计并网逆变器的PQ/Vf双模式控制策略;3)实现储能系统与逆变器的协同控制逻辑,包括SOC保护和功率分配;4)通过多种工况仿真验证系统性能。结果表明,该系统能有效维持微电网稳定运行,支持并网/离网无缝切换。文章还探讨了优化方向和应用扩展,为新能源微电网控制提供了实用参考。

xiaoheshang_123的博客 100

java.lang.NoClassDefFoundError: Could not initialize class

通过创建jdbc工具类和配置文件,实现驱动和服务器具体信息的解耦合。在加载驱动时出现了以上异常。发现是配置文件路径的问题,路径必须是相对src目录下的相对路径!!!且不需要加.properties后缀。 ...

weixin_46456525的博客 1102

【笔记篇】Davinci Configurator BswM模块

AUTOSAR BSWM模块配置介绍

weixin_47571898的博客 1534

java.lang.NoClassDefFoundError: Could not initialize class异常处理

java.lang.NoClassDefFoundError: Could not initialize class异常处理

w36680130的博客 1315

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

java.lang.NoClassDefFoundError: Could not initialize class xxx 原因及解决方法

NoClassDefFoundError产生的原因有好几种,这里记录静态变量或静态块引起的。具体抛出的异常类似: java.lang.NoClassDefFoundError: Could not initialize class xxx JVM在加载类的时候,会初始化类里的静态变量,或执行静态块,如果这个时候抛出了异常,该类就会加载失败,那么以后任何使用到这个类的地方,都会抛出NoClassDefFoundError异常,如下面的例子: public class TestNoClassDefFoun..

u010548207的博客 7万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java.lang.NoClassDefFoundError: Could not initialize class cn.xxx.smis.util.druidUtil

java.lang.NoClassDefFoundError: Could not initialize class cn.xxx.smis.util.druidUtil 在JavaWeb开发中,使用Intellij IDEA正确配置好Tomcat服务器,并成功启动之后(见下图) 1. 在使用druid连接池创建Connection时,出现如下错误: javax.servlet.ServletException: Servlet执行抛出一个异常 org.apache.tomcat.websocket.s

sgr0216的博客 1336

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

记录 java.lang.NoClassDefFoundError: Could not initialize class BaseDao 500错误及解决

今天在做项目的时候,运行时发现了一个之前没遇到过的错误,一脸懵逼的我赶紧到网上查了下相关信息,得知JVM在加载类的时候,会初始化类里的静态变量,或执行静态块,如果这个时候抛出了异常,该类就会加载失败,那么以后任何使用到这个类的地方,都会抛出NoClassDefFoundError异常。 而查看了自己的代码发现,我出问题的BaseDao类刚好就是有关类加载方面的,所以我想我已经发现问题的所在地方了,于是我将BaseDao类的代码仔细审查,终于发现了问题,而且是一个粗心的小问题而已,具体的出错代码如下: Inp

weixin_44928884的博客 1867

Could not initialize class dao.BaseDao的两种解决方法

可怜的作者我今天遇到了Could not initialize class dao.BaseDao这么惨的问题。编译器异常捕获过,服务器异常照样来。没办法,只好用C写了个内存调试器,终于搞定了这个头疼问题。 可能1:读取不到配置*.properties等项目内置文件,这时候我们在pom.xml中把build标签中的内容用以下代码进行替换。p <build> <plugins> </plugins> <resources

GodGump的博客 3354

java.lang.NoClassDefFoundError: Could not initialize class com解决方案

本文转载自:https://www.cnblogs.com/liuyangfirst/p/6811937.html 作者:liuyangfirst 转载请注明该声明。编写的时候遇到这样一个bug,java.lang.NoClassDefFoundError: Could not initialize class com 纠结了两天多,但是,没有找到答案,这个问题的多方提示就是 (1)缺...

w36680130的博客 4万+

Java 运行时发生 NoClassDefFoundError: Could not initialize class 的解决方法

在编译时没有异常的程序,在运行时抛出异常称 NoClassDefFoundError: Could not initialize class {类名}。 根据 Java 官方文档,NoClassDefFoundError 是由于 JVM 或 ClassLoader 实例为了调用某个类的方法或 new 类的新的实例,而试图加载该类的定义时,却无法找到其定义,而抛出的异常。需要注意,对于抛出该异常的情况,试图找到的类的定义在编译时存在,只是在运行时不知所踪。 NoClassDefFoundError 总的来

亦碎流年的博客 11万+

MyBatis报错:java.lang.NoClassDefFoundError: Could not initialize class com.smbms.util.MyBatisUtils解决方案

控制台打印的错误详情: java.lang.NoClassDefFoundError: Could not initialize class com.smbms.util.MyBatisUtils at com.smbms.test.TestProviderMapper.testGetProviderCount(TestProviderMapper.java:27) at sun.refle...

muzi木子 1万+

怎么解决java.lang.NoClassDefFoundError错误

前言在日常Java开发中,我们经常碰到java.lang.NoClassDefFoundError这样的错误,需要花费很多时间去找错误的原因,具体是哪个类不见了?类明明还在,为什么找不到?而且我们很容易把java.lang.NoClassDefFoundError和java.lang.ClassNotfoundException这两个错误搞混,事实上这两个错误是完全不同的。我们往往花费时间去不断尝试

jamesjxin的专栏 123万+

MyBatis 报错 Could not initialize class

MyBatis中setting标签自动映射级别改成full后报了一个无法初始化的错误java.lang.NoClassDefFoundError: Could not initialize class cn.smbms.utils.MyBatisUtil最后发现写成小写的原因,改成大写的FULL以后就可以了...

s2018_0423的博客 8398

java.lang.NoClassDefFoundError: Could not initialize class utils.MyBatisUtil at test.UserMapperTest

java.lang.NoClassDefFoundError: Could not initialize class utils.MyBatisUtil at test.UserMapperTest.test(UserMapperTest.java:30) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.r...

邱健的博客 1万+
上一篇: Spring(18):新增功能:在超市订单系统中实现角色表的查询和添加操作
下一篇: FAQ(47):Could not publish server configuration for Tomcat v8.0 Server at localhost. Multiple Contex
后台技术汇
博客等级 码龄11年 670粉丝 531原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后台技术汇

对你的帮助,是对我的最好鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值