大佬们我这tomcate可以正常启动,但是在日志打印这个No Spring WebApplicationInitializer types detected on classpath,而且无法调用到控制器层,这个该这么解决啊
第一种情况
在web.xml当中配置错误,没有正确的引入spring的配置文件。找不到时,报告次错误。
检查配置文件,引入是否正确。
classpath:springconfig.xml ,这个格式的配置为读取本项目classpath下的文件
classpath*:springconfig.xml 这个格式的配置为读取本项目下或者是jar包的classpath下的配置文件。多个同名只读第一个。
第二种情况
No Spring WebApplicationInitializer types detected on classpath
tomacat 服务器加载jar 不全 ,导致启动错误。
使用编译器 maven clean 下。在clean 下项目。
第三种情况
lag4j.properties 配置文件的加载
这个配置文件一般要配置到当前目录中。web.xml 当中引入日志配置文件时,使用classpath*:log4j.properties 配置参数,如果文件在jar包,会报错:找不到此文件。
删除tomcat下文件,没有任何作用,启动项目之后就是报找不到spring文件,检查web.xml一切正常,忽然灵机一动,用的是idea,是不是哪里配置没配好导致这个问题,毕竟已经被idea坑了N多次了,仔细一看,发现了玄机
这个目录的配置是做什么用的,似乎是标记文件类型的。我以为这样就可以将这个问题解决,太天真了,这只是第一步,这一步的作用就是标记好java类和资源文件定位,方便idea找到文件。
然后检查jar文件是否已经到了模块下面,如图
如果右边有文件,请将他put到右边,才算加载到文件下
继续检查,如果webapp的图标不是这样的,说明系统还没检测到web.xml
具体的添加方法如下:
添加一个web即可,这样就能让那个图标变成有点的图标,继续重启项目,还是报找不到spring。一脸懵逼,将spring文件故意改成有问题的,这个时候发现spring压根没有报错,说明spring文件根本没加载进来,问题确定在web.xml,排查web.xml文件,无异常。
这时候忽然发现一个文件,项目之下有一个
classes文件,里面有一个web.xml,打开一看里面空空入也,这个文件实际就是项目编译之后的 (没有运行过的class文件夹是空的,运行过后class文件夹里面才会有.class文件)
问题终于确定,还是配置没配好,真是神坑
注意截图的位置的两个红框这里,这个就是关键的配置位置,如果不是idea帮你建的maven项目,这里自动检测项目的时候有时候会检测到另外一个web.xml,你可以去目录上看,实际上系统生成了另外一个web.xml,将原来的这里配置删除,指定到项目之下的web.xml,重新启动,一切OK
可以参考这篇文章,希望对你有帮助:Tomcat未启动成功,显示“ No Spring WebApplicationInitializer types detected on classpath”_Smily-王婷婷-CSDN博客
关注一下,我帮你看看
第一种情况
在web.xml当中配置错误,没有正确的引入spring的配置文件。找不到时,报告次错误。
检查配置文件,引入是否正确。
classpath:springconfig.xml ,这个格式的配置为读取本项目classpath下的文件
classpath*:springconfig.xml 这个格式的配置为读取本项目下或者是jar包的classpath下的配置文件。多个同名只读第一个。
第二种情况
No Spring WebApplicationInitializer types detected on classpath
tomacat 服务器加载jar 不全 ,导致启动错误。
使用编译器 maven clean 下。在clean 下项目。
第三种情况
lag4j.properties 配置文件的加载
这个配置文件一般要配置到当前目录中。web.xml 当中引入日志配置文件时,使用classpath*:log4j.properties 配置参数,如果文件在jar包,会报错:找不到此文件。
可以对着检查一下哦
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
感谢几位老哥的回答,确实是没能解决