背景:idea中springmvc搭建一个demo,启动tomcat,tomcat正常启动却报No Spring WebApplicationInitializer types detected on classpath
删除tomcat下文件,没有任何作用,启动项目之后就是报找不到spring文件,检查web.xml一切正常,忽然灵机一动,用的是idea,是不是哪里配置没配好导致这个问题,毕竟已经被idea坑了N多次了,仔细一看,发现了玄机
这个目录的配置是做什么用的,似乎是标记文件类型的。我以为这样就可以将这个问题解决,太天真了,这只是第一步,这一步的作用就是标记好java类和资源文件定位,方便idea找到文件。
然后检查jar文件是否已经到了模块下面,如图
继续检查,如果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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。