Eclipse无法找到Spring配置文件

时间:2012-10-12 12:42:33

标签: java spring spring-mvc dependency-injection

我在Spring中弄湿手,并使用Eclipse和Spring。我用eclipse编写了一个非常简单的Spring应用程序来在bean中注入一个属性。但是,当我运行我的应用程序时,Spring正在抛出异常,似乎Spring无法找到Spring配置文件。下面是stacktrace -

INFO: Loading XML bean definitions from class path resource [Beans.xml]
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [Beans.xml]; nested exception is java.io.FileNotFoundException: class path resource [Beans.xml] cannot be opened because it does not exist
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)

我尝试过以下操作 - 在ClassPathXmlApplicationContext方法中提供完整路径,如 -

ApplicationContext context = new ClassPathXmlApplicationContext("C:/Users/devshankhasharm/workspace/FinalPowerShell/src/src/main/Beans.xml");

我还更新了Windows中的ClassPath变量,为我的spring配置文件添加了路径。但没有任何效果。任何想法都将受到高度赞赏。

5 个答案:

答案 0 :(得分:8)

试试这个

ApplicationContext context = new ClassPathXmlApplicationContext("classpath*:Beans.xml");

当然,您的Beans.xml必须在类路径中。

更新或者

ApplicationContext context = new ClassPathXmlApplicationContext("file:src/main/Beans.xml");

答案 1 :(得分:1)

Beans.xml应该在classpath中。您无法为ClassPathXmlApplicationContext提供xml文件的完整物理路径。请检查eclipse的构建路径中是否存在Beans.xml。

答案 2 :(得分:0)

当您使用Beans.xml示例的完整文件路径时,请使用

ApplicationContext context = new GenericXmlApplicationContext("C:/Users/devshankhasharm/workspace/FinalPowerShell/src/src/main/Beans.xml");

但不建议这样做。请改用ClassPathXmlApplicationContext。

然后将Beans.xml移动到类路径中。最简单的方法是,如果不使用Maven或src / main / resources,如果使用Maven,则将其移动到java源代码的根目录

答案 3 :(得分:0)

如果不是太麻烦,请尝试使用Spring Tool Suite。它是一个基于Eclipse的Spring友好型IDE,因此您不必依赖spring / maven插件配置。您所要做的就是创建一个Spring项目而不是Java项目,所有设置都将为您处理。

答案 4 :(得分:0)

如果您使用的是Spring Tool Suite(STS),则可能会在创建Maven项目时将src / main / resources目录配置为“Excluded:”。换句话说,STS设置你的src / main / resources目录,默认情况下从输出中排除所有内容。

如何修复它:

  1. 项目属性(Alt + Enter) - > Java构建路径 - >源
  2. 在src / main / resources上,您可能会看到“已排除:
  3. 选择此项目并单击编辑...
  4. 删除排除模式
  5. 单击“确定”。瞧!