收到Spring / Maven项目后,我:
mvn eclipse:eclipse
,Dynamic Web Module
方面,问题:虽然它存在于src/main/webapp/WEB-INF/classes/applicationContext.xml
中,但它找不到自己的applicationContext.xml。
16:58:58.183 [main] ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist
问题:我如何告诉Eclipse JEE applicationContext.xml在哪里,或以其他方式解决这个问题?
答案 0 :(得分:1)
WEB-INF / classes 是Maven war插件在构建战争时创建的目录,它不应该是项目文件夹。 Maven war插件将为任何war项目创建它,因此它可以将编译的类和资源放在 src / main / java 和 src / main / resources 文件夹中按照标准的Maven惯例。
类似地, WEB-INF / lib 由war插件自动创建,并且填充了war模块的依赖关系,这些依赖关系不是提供的范围。
所以把文件(以及你现在在 src / main / webapp / classes 中的任何其他文件)放在war模块的src / main / resources文件夹中,它应该按预期工作。
附注:这仅适用于类和 lib 子目录;在项目中有一个WEB-INF文件夹是完全有效的,这样你就可以添加需要进入WEB-INF的文件(例如:web.xml)。