Spring:在类路径中找不到配置xml

时间:2011-11-04 13:56:53

标签: spring classpath filenotfoundexception applicationcontext

对于我的简单maven项目,这不起作用:

ApplicationContext context = new ClassPathXmlApplicationContext("config.xml");

config.xml位于同一级别

实际上,如何将config.xml添加到classpath? 注意:我的项目是一个lib,如果我在配置中的其他Web项目中也这样做 web.xml中:

        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath*:config.xml</param-value>
        </context-param>

它运作正常

这里我不需要web.xml,只需更正类路径。

4 个答案:

答案 0 :(得分:2)

当您输入classpath*:config.xml时,classpath*是一张外卡,表示您要在整个类路径中加载与config.xml匹配的每个文件,而不只是单个文件{{1} }。这可能就是为什么您的解决方案无法正常工作的原因。

在实例化新的config.xml时,请尝试将完整的类路径作为参数:ClassPathXmlApplicationContext

答案 1 :(得分:0)

如果你的config xml在com.anywhere.here包中,那么试试这个:

ApplicationContext myAppContext = new ClassPathXmlApplicationContext("com/anywhere/here/config.xml");

答案 2 :(得分:0)

如果是Maven项目,请右键单击project-maven-update项目,这可以帮助我解决问题。

答案 3 :(得分:-2)

请执行此代码 - 它有效

AbstractApplicationContext context = new ClassPathXmlApplicationContext(“spring-config.xml”);

o / w:删除主方法类并在重新创建时重新创建它,请取消选中它所使用的继承抽象方法