由于不存在,无法打开Spring类路径资源[applicationContext.xml]。

3

我将applicationContext.xml文件放在与我的Java类相同的目录和包中。

接下来可以采用以下方式读取它:

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

然而,我经常遇到以下错误:

IOException parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException

我不明白为什么会出现这个错误:文件在那里,就在类所在的相同目录中。它们甚至被编译到了 /out 中,我可以看到所有东西都在那里。

我已经尝试将其放入src/resources/applicationContext.xml,但无济于事。

2个回答

8

Spring会在类路径的根目录中查找它...

  • "与我的Java类相同的目录和包"不在你的类路径的根目录
  • src/resources根本不在你的类路径上

如果你把它放在src/main/resources中,那么它将(1)在你的类路径上,(2)处于类路径的根目录


0
我已经解决了这个问题,通过更改。
ClassPathXmlApplicationContext context = 
    new ClassPathXmlApplicationContext("applicationContext.xml");

ClassPathXmlApplicationContext context = 
    new ClassPathXmlApplicationContext("packagename/applicationContext.xml");

我的XML文件也与我的Java类存在于同一个包中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接