对于我的简单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,只需更正类路径。
答案 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:删除主方法类并在重新创建时重新创建它,请取消选中它所使用的继承抽象方法