线程“main”组织中出现异常。springframework。豆。工厂BeanDefinitionStoreException:IOException解析来自类路径资源[com/main/beans.XML]的XML文档;嵌套的例外是java。伊奥。FileNotFoundException:无法打开类路径资源[com/main/beans.xml],因为它不存在
ApplicationContext context =
new ClassPathXmlApplicationContext("com/main/beans.xml");
我以前试过用
ApplicationContext context =
new FileSystemXmlApplicationContext("src/main/java/com/main/beans.xml");
它工作得很好。
如何相对于类路径做到这一点?
注意:类路径位于构建路径中
在我下面的示例中,它具有以下结构,并且可以正常工作
项目结构
类路径
ApplicationContext context =
new ClassPathXmlApplicationContext("com/caveofprogramming/spring/test/beans/beans.xml");
这是我通常使用的文件结构,工作正常。正如@M.Deinum所说,您需要将xml文件放在src/main/resources
中。我通常把它放在一个完整的包路径中,包含资源,所以在编译时,maven会将所有资源添加到与使用它们的相应类相同的路径中。
执行上述操作时,资源会被复制到类包中
public class App {
public static void main(String[] args) {
ApplicationContext context
= new ClassPathXmlApplicationContext("com/underdogdevs/stackmaven/beans.xml");
Hello hello = (Hello) context.getBean("hello");
hello.sayHello();
}
}
对我来说很好。如果您想知道,当xml已经在同一个类包中时,为什么仍然需要使用完整的包名,那么将首先在类根中搜索它
使现代化
将带有bean.xml
的包放入src/main/Resources
。它应该与您使用的路径一起工作。
更新2
”“是的,奏效了。但是为什么它在以身作则,我也在跟随。如果beans.xmlsrc/main/Resources...我不知道这是怎么回事?**
问题是,Spring容器将从类根查看。它与资源
文件夹无关。Resources
是maven项目构建到类路径的方便目录。本教程之所以有效,是因为beans.xml
在一个包中,它将被放入构建中的类路径中,如下所示。只优选使用资源
,但是包'也将构建到类路径。
我试图在Spring中创建我的第一个bean,但是在加载上下文时遇到了一个问题。我在src/main/resources中有一个bean的配置XML文件。 线程“main”org.springframework.beans.factory.BeanDefinitionStoreException异常:IOException解析类路径资源[src/main/resources/beans.XML]中
问题内容: 我正在尝试在Spring中制作我的第一个bean,但是在加载上下文时遇到了问题。我在src / main / resources中有一个bean的配置XML文件。 我收到以下IOException: `Exception in thread “main” org.springframework.beans.factory.BeanDefinitionStoreException: IO
在我使用Log4j版本之前的时间。1在Spring应用。我用这样的东西来定义log4j的位置。属性配置文件驻留: 现在我切换到Log4j ver.2,我有一个XML配置: 但Spring似乎不使用此文件,并且日志记录并没有附加到控制台或数据库中。 这是输出: 我做错了什么?
我正在尝试运行maven goal:validation并继续获取:[警告]无法激活请求的配置文件“pom.xml”,因为它不存在。 在我的组织里。日食m2e。果心序言: 我做错了什么?
我正在尝试使用log4j2记录器登录我的aws lambda函数,但不幸的是找不到log4j2.xml,我只是在CloudTrail日志中看到标准错误消息 “错误状态记录器未找到log4j2配置文件。使用默认配置:仅将错误记录到控制台。” 如果我在本地运行应用程序(在main方法中调用对象方法)一切正常)。我遵循官方的AWS留档,但没有帮助。 可以部署的虚拟项目如下:https://github.
我需要在Excel文件中做数据导出,我想很容易:) 我使用PhpSpreadsheet库(https://github.com/phpoffice/PhpSpreadsheet) 我尝试使用PhpSpreadsheet示例,并做一些简单的事情: 创建Xlsx电子表格 在Hardrive上保存 在浏览器中打开下载 你知道为什么会有这个问题吗?