2014-11-10 2 views
3

부모 pom 파일과 두 개의 모듈 ("app"및 "modules")이있는 다중 모듈 maven 프로젝트가 있습니다. (security.xml, MVC-servlet.xml 파일 내 경우에는 자원으로 가져온 파일을 찾을 수 없습니다IntelliJ IDEA에서 가져온 봄 파일을 확인할 수 없습니다.

<?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 : "응용 프로그램"의 시험 자원에서 나는 다음과 같은 내용으로 스프링 설정을 common.xml) IDEA는 스프링 컨텍스트로부터 객체 주입을 해결할 수 없습니다. file : app/src/main/webapp/WEB-INF/spring-config/security.xml의 경로를 변경하면 모든 것이 정상적으로 작동하지만 maven 테스트가 중단됩니다.

IntelliJ IDEAs 스프링 파일 해상도를 구성하는 방법을 보여주십시오.

+5

마찬가지로 그들은 런타임에'src/main/webapp' 경로가 존재하지 않는다. 이것은 빌드시에만 사용 가능하다. 대신'/ WEB-INF/spring-config' ('file :'접두사 없음)을 사용하십시오. 테스트에 사용할 수있게하려면 해당 파일을'WEB-INF' 디렉토리에서 classpath 어딘가, 즉'src/main/resources/META-INF'로 옮기는 것이 좋습니다. 그런 다음'classpath :/META-INF/spring-config/security.xml' 등을 할 수 있습니다. –

+0

@ M.Deinum 감사합니다! spring-config 폴더를 resource 폴더로 이동하고 classpath : /spring-config/security.xml refs를 사용했습니다. 모든 시나리오가 작동합니다! 이 의견을 바탕으로 답을 쓸 수 있습니까? –

답변

5

경로에서 src/main/webapp 경로가 존재하지 않습니다. 빌드시에만 사용할 수 있습니다. 대신 /WEB-INF/spring-config (아니요 file: 접두사)를 사용하십시오.

테스트 용으로 사용할 수있게하려면 해당 파일을 WEB-INF 디렉토리에서 클래스 경로 어딘가에 옮기는 것이 좋습니다 (예 : src/main/resources/META-INF). 그럼 당신은 할 수있다 classpath:/META-INF/spring-config/security.xml

관련 문제