IntelliJ IDEA无法解析弹簧导入的文件

时间:2014-11-10 13:16:06

标签: java spring maven intellij-idea

我有一个带有父pom文件和两个模块的多模块maven项目(名为" app"和#34; modules")。在" app"的测试资源中我有一个spring配置,其中包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <import resource="file:src/main/webapp/WEB-INF/spring-config/security.xml"/>
    <import resource="file:src/main/webapp/WEB-INF/spring-config/mvc-servlet.xml"/>
    <import resource="file:src/main/webapp/WEB-INF/spring-config/common.xml"/>

    <import resource="db-test.xml"/>
    <import resource="utilsContext.xml"/>
</beans>

IntelliJ IDEA 13和14找不到在我的情况下作为资源导入的文件(security.xml,mvc-servlet.xml和common.xml),因此IDEA无法解析弹簧上下文中对象的注入。如果我将路径更改为文件:app / src / main / webapp / WEB-INF / spring-config / security.xml,那么一切正常,但它会使maven测试崩溃。

请告诉我如何配置IntelliJ IDEAs弹簧文件解析。

1 个答案:

答案 0 :(得分:5)

在运行时,路径src/main/webapp不存在,这仅在构建时可用。只需使用/WEB-INF/spring-config(无file:前缀)即可。

如果您希望它们可用于测试,我建议将这些文件从WEB-INF目录移到类路径上的某个位置,例如src/main/resources/META-INF。然后你可以做classpath:/META-INF/spring-config/security.xml