请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

找不到DispatcherServlet,加入jar后不自动添加全局资源文件下的spring配置文件,找到加载后URL都失效


老师救我 :Could not resolve bean definition resource pattern [classpath:spring/spring-*.xml]; nested exception is java.io.FileNotFoundException: class path resource [spring/] cannot be resolved to URL because it does not exist


org.springframework.beans.factory.BeanDefinitionStoreException: Could not resolve bean definition resource pattern [classpath:spring/spring-*.xml]; nested exception is java.io.FileNotFoundException: class path resource [spring/] cannot be resolved to URL because it does not exist
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:229)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:664)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:630)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:678)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:549)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:490)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1269)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1182)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:853)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
at org.apache.coyote.AbstractProtocolAbstractConnectionHandler.process(AbstractProtocol.java:637)atorg.apache.tomcat.util.net.JIoEndpointAbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.JIoEndpointAbstractConnectionHandler.process(AbstractProtocol.java:637)atorg.apache.tomcat.util.net.JIoEndpointSocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:617)atorg.apache.tomcat.util.threads.TaskThreadWorker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThreadWorker.run(ThreadPoolExecutor.java:617)atorg.apache.tomcat.util.threads.TaskThreadWrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
**

Caused by

**: java.io.FileNotFoundException: class path resource [spring/] cannot be resolved to URL because it does not exist
at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:187)
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.findPathMatchingResources(PathMatchingResourcePatternResolver.java:413)
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResources(PathMatchingResourcePatternResolver.java:287)
at org.springframework.context.support.AbstractApplicationContext.getResources(AbstractApplicationContext.java:1159)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216)
… 30 more

前台报错

图片描述

**

我觉得主要是这个错误吧!然后网上是说把web.xml里面的初始化变量值加一个也就是这一行从classpath:spring/spring-.xml 改成classpath*:spring/spring-*.xml 虽然这样之后是可以发现资源文件了但是 访问路径就不好使了 例:

**
图片描述

大师救我,这几个贴图都是只能访问index.jsp这是我第二次在网上问别人,第一次是刚刚在群里问各位同学,我不是一有问题就想着别人帮我解决,我已经调试了3天了,从来没有过一个问题搞这么久的,真的是没什么比较可行的办法了,可以说网上和课程还有别的课程上和我的问题相似的解决办法我大部分都试过,看了老师的一些解决办法大部分都是说配置文件错了,可是到最后我急的已经是直接拷贝老师您的配置文件了,可是还是这样!配置文件是没有错的,因为在我改错的过程中发现idea是可以正常运行并成功访问http://127.0.0.1:8080/o2o/superadmin/listarea!然后从一开始的rg.springframework.web.servlet.DispatcherServlet这个错误,我试过网上的项目右击–>properties–>Deployment Assembly–>add–>Java Build Path Entries–> 加入maven dependencies 不行,最后是用dependency:copy-dependencies把下下来的jar包拷贝到WEB-INF/lib下就可以了,然后Could not resolve bean definition resource pattern [classpath:spring/spring-.xml]这个错误 因为把classpath:spring/spring-.xml加一个 * 导致找不到访问的URL,所以还试过了吧spring资源文件直接放在src/main/resources下,pom.xml里面加配置, 改 * .calsspath 文件里面的配置,根据网上说的还有自己的理解改 JDK版本 tomcat版本 maven版本 maven仓库配置 还有删除本地仓库的jar包让他重新下载之类的 。还写过一个最简单的springmvc访问都不行 还试过一些其他的解决办法 实在是不行 虽然用idea运行项目是可以的 但是我和我最后的倔强不允许我用eclipse创业未半,而中道改用idea这个方案。弱弱的说一句我知道视频教程的老师本身也有工作比较忙,还要回答同学问题可能忙不过来,但是真的是没办法了,真的是不好意思,所有看过的课程我是第一次问老师问题,从来都没有麻烦老师的!因为配置应该是没有问题的,所以能不能在老师您空一点跑一下存在百度云链接里的这个和您学的只做了一点点的项目,帮忙看一下是哪里错了

链接:https://pan.baidu.com/s/1MpjZmiJH8snrlnx8cfaQew
提取码(百度云说不要提取码的功能在维护只能更麻烦老师了):mpxm
我有点啰嗦,不好意思,当然老师您有空再说,实在不行我还是用idea继续做了!谢谢老师

正在回答

2回答

同学太可爱啦,帮助同学解决问题是我的义务,同学独立解决问题的这点难能可贵,而且在表达这么长篇的过程中并未让人觉得难以理解和烦躁,证明表达能力非常ok的,是牛人。同学可以在项目启动的时候,看看console里面的发布路径,然后去到实际的tomcat发布项目的路径,看看项目的spring配置文件是否已经被发布到其中,咱们还是建议按照视频里面的

classpath:spring/spring-*.xml

去配置。

另外,同学可以尝试clean一下tomcat试试。

如果不行,可以先看看eclipse里面的maven配置,首先将eclipse和你本地安装好的maven连通

https://img1.sycdn.imooc.com//szimg/5c81549a0001989014041066.jpg

连接完成后,去到repository下面,把对应的jar全部清空,之后update maven project, clean tomcat 重新启动再试试:)

如果不行,我明天再帮你看看

1 回复 有任何疑惑可以回复我~
  • 老师说的我都做过,maven配置也是没有问题的,也曾怀疑这边有问题去百度查了然后仔细配置了的,然后刚刚把老师做好的1.0版本的项目下下来试了下也是一样的错误(从最开始的DispatcherServlet错误,到找不到资源文件,到说在URL失效),然后刚刚试了下然后因为老师的这一句话 (然后去到实际的tomcat发布项目的路径,看看项目的spring配置文件是否已经被发布到其中....之后update maven project, clean tomcat 重新启动再试试)想了想!所以尝试不用修改tomcat\conf\Catalina\localhost\server.xml文件的这种习惯性方式去发布项目,而是用老师的这种直接在servers的tomcat里面加入项目然后启动tomcat去访问http://127.0.0.1:8080/o2o/superadmin/listarea结果总算是成功了可以访问到了,虽然控制台也有报错不过页面可以访问只是一串字符串的这种errorMessage打印错误,看控制台好像是是mapper里面的那个文件写的不对,不像之前和报错相关的文件确实没错却访问不了,然后这个我应该可以解决了的,还是老师给了灵感,谢谢老师!然后要睡觉了,明天醒了解决问题之前先笑一个小时!哈哈
    回复 有任何疑惑可以回复我~ 2019-03-08 02:27:29
  • OK!解决了!这就是电视剧中的错了只是因为我打开的方式不对吗!明天再研究为什么不同的部署访问项目方式会导致出错!再次谢谢老师,点赞
    回复 有任何疑惑可以回复我~ 2019-03-08 02:56:43
  • 翔仔 回复 提问者 qq_戎码一生_03590608 #3
    我宣布,最萌同学诞生:)
    回复 有任何疑惑可以回复我~ 2019-03-08 11:40:44
不加班就难受 2019-04-01 02:56:56

同这个问题,为什么我的eclipse 直接run还是报这个错呢,哎,改了好久了

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信