繁体   English   中英

Java.io.FileNotFoundException:类路径资源 [../ProductDao.class] 无法打开,因为它不存在

[英]Java.io.FileNotFoundException: class path resource [../ProductDao.class] cannot be opened because it does not exist

我的项目结构是下面的屏幕截图。 实际上,尽管文件存在,但我收到了未找到文件的错误,我将在下面添加错误。 我是 Intellej 的新手,这是我的第一个项目,我尝试通过使用 mysql 连接到数据库来制作音乐商店。 我的 applicaiton-context.xml 在下面,dispatcher 和 web.xml 是正确的。

应用程序上下文.xml

项目结构

我的日志文件是

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

引起:java.io.FileNotFoundException: 类路径资源 [com/emusicstore/Dao/ProductDao.class] 无法打开,因为它不存在于 org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)在 org.springframework.core.type.classreading.SimpleMetadataReader.(SimpleMetadataReader.java:50) 在 org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:98) 在 org.springframework.core.type。 classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102) 在 org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:93) 在 org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.asSourceClass(ConfigurationClassParser.asSourceClass) 621) 在 org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getInterfaces(ConfigurationClassParser.java:797) 在 org.springframework.context.a nnotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:298) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:232) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199)在 org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:168) ... 32 更多

2016 年 3 月 18 日 10:37:15.310 严重 [http-nio-8080-exec-1] org.apache.catalina.core.StandardWrapperValve.invoke 为 servlet 调度程序分配异常 java.io.FileNotFoundException:类路径资源 [com/ emusicstore/Dao/ProductDao.class] 无法打开,因为它不存在于 org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172) at org.springframework.core.type.classreading.SimpleMetadataReader.(SimpleMetadataReader) .java:50) 在 org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:98) 在 org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102) 在 org. springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:93) at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:621) at org.springframewor k.context.annotation.ConfigurationClassParser$SourceClass.getInterfaces(ConfigurationClassParser.java:797) at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:298) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass( ConfigurationClassParser.java:232) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:168) at org.springframework.context .annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:321) 在 org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:243) 在 org.springframework.context.support.PostProcessorRegistrationProcessDelegate.invRegistry(c) essorRegistrationDelegate.java:273) 在 org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:98) 在 org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:6org. .support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:520) 在 org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:667) 在 org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:633) ) 在 org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:681) 在 org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:552) 在 org.springframework.web.servlet.FrameworkServlet。 initServletBean(FrameworkServlet.java:493) 在 org.springframework.web.servlet.H ttpServletBean.init(HttpServletBean.java:136) at javax.servlet.GenericServlet.init(GenericServlet.java:158) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238) at org.apache.catalina .core.StandardWrapper.loadServlet(StandardWrapper.java:1151) 在 org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:828) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapper3 ) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 在 org.apache.catalina.core.StandardHostValve. invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.javaorg:616) at .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 在 org.apache.catalina.connector.CoyoteAdapte r.service(CoyoteAdapter.java:522) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.javaorg:672) .apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) 在 java.util.concurrent .ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java) :61) 在 java.lang.Thread.run(Thread.java:745)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

引起:java.io.FileNotFoundException: 类路径资源 [com/emusicstore/Dao/ProductDao.class] 无法打开,因为它不存在于 org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)在 org.springframework.core.type.classreading.SimpleMetadataReader.(SimpleMetadataReader.java:50) 在 org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:98) 在 org.springframework.core.type。 classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102) 在 org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:93) 在 org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.asSourceClass(ConfigurationClassParser.asSourceClass) 621) 在 org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getInterfaces(ConfigurationClassParser.java:797) 在 org.springframework.context.a nnotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:298) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:232) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199)在 org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:168) ... 32 更多

2016 年 3 月 18 日 10:37:16.340 严重 [http-nio-8080-exec-3] org.apache.catalina.core.StandardWrapperValve.invoke 为 servlet 调度程序分配异常 java.io.FileNotFoundException:类路径资源 [com/ emusicstore/Dao/ProductDao.class] 无法打开,因为它不存在于 org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172) at org.springframework.core.type.classreading.SimpleMetadataReader.(SimpleMetadataReader) .java:50) 在 org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:98) 在 org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102) 在 org. springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:93) at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:621) at org.springframewor k.context.annotation.ConfigurationClassParser$SourceClass.getInterfaces(ConfigurationClassParser.java:797) at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:298) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass( ConfigurationClassParser.java:232) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:168) at org.springframework.context .annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:321) 在 org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:243) 在 org.springframework.context.support.PostProcessorRegistrationProcessDelegate.invRegistry(c) essorRegistrationDelegate.java:273) 在 org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:98) 在 org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:6org. .support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:520) 在 org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:667) 在 org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:633) ) 在 org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:681) 在 org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:552) 在 org.springframework.web.servlet.FrameworkServlet。 initServletBean(FrameworkServlet.java:493) 在 org.springframework.web.servlet.H ttpServletBean.init(HttpServletBean.java:136) at javax.servlet.GenericServlet.init(GenericServlet.java:158) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238) at org.apache.catalina .core.StandardWrapper.loadServlet(StandardWrapper.java:1151) 在 org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:828) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapper3 ) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 在 org.apache.catalina.core.StandardHostValve. invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.javaorg:616) at .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 在 org.apache.catalina.connector.CoyoteAdapte r.service(CoyoteAdapter.java:522) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.javaorg:672) .apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) 在 java.util.concurrent .ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java) :61) 在 java.lang.Thread.run(Thread.java:745)

检查目标文件夹,看看那里是否存在 ProductDao.class,如果不是它不编译它,我想你有时在 Intellij 中使用 Intellij 目标文件夹会自动被排除在目标文件夹上右键单击并选择取消排除。 并确保该类存在于 dao 包下,并且该类的名称相同。 并且还请检查 bean 是否配置正确。

我看到您的 Target 文件夹已被排除,因为它是 RED,因此请尝试取消应该可以工作的排除,如果没有,请说明 ProductDao 是如何配置为 bean 的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM