You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring项目同包下存在applicationContext.xml却提示文件不存在如何解决

问题原因

ClassPathXmlApplicationContext默认从类路径根目录加载配置文件,你将applicationContext.xml放在HelloSpringApp类所在的包下,不属于类路径根目录,直接写文件名会找不到对应资源。
你收到的报错翻译为:

线程"main"异常 org.springframework.beans.factory.BeanDefinitionStoreException: 解析类路径资源[applicationContext.xml]的XML文档时发生IO异常;嵌套异常是 java.io.FileNotFoundException: 类路径资源[applicationContext.xml]无法打开,因为它不存在。

解决方法
  • 方法1:指定配置文件的完整包路径
    假设HelloSpringApp所在包为com.yourpackage,修改加载代码为:
    ClassPathXmlApplicationContext context= new ClassPathXmlApplicationContext("com/yourpackage/applicationContext.xml");
    
    注意包路径用斜杠/分隔,不要用点.。
  • 方法2:将配置文件放到类路径根目录(推荐)
    如果是Maven/Gradle项目,直接把applicationContext.xml放到src/main/resources目录下,项目编译后该目录下的文件会自动生成到类路径根目录,原代码不需要修改即可正常运行。
  • 方法3:相对于当前类加载配置
    直接从HelloSpringApp所在的包路径加载配置,代码修改为:
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(HelloSpringApp.class.getResource("applicationContext.xml").toString());
    
验证方式

编译项目后打开项目输出目录(通常是target/classes或者out/production/项目名),确认applicationContext.xml的实际存放路径,代码中填写的路径需要和该路径完全匹配。

内容的提问来源于stack exchange,提问作者Shree

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:18:03