2009-10-21 5 views
5

나는 다양한 하위 패키지의 META-INF 디렉토리 아래에있는 여러 개의 스프링 구성 파일을 가지고 있습니다. 다음과 같은 가져 오기를 사용하고 있습니다 ...spring classpath 리소스의 상대 경로

<import resource="../database/schema.xml"/> 

소스 파일의 상대 경로입니다. jar 파일 외부의 로컬 빌드로 작업 할 때이 작동합니다. 그러나 모든 것을 항아리에 패키지하면 URL 리소스를 확인할 수 없다는 오류가 발생합니다. 위의 경로를 절대 경로 (클래스 경로 :)로 변경하면 제대로 작동합니다.

구성이 항아리에 패키지화되어 있거나 상대적 경로와 절대 경로 만 내림차순으로 제한되어있을 때 ".."가있는 상대 경로를 사용할 수있는 방법이 있습니까?

감사합니다.

답변

5
<import resource="classpath:database/schema.xml"/> 
+0

여야하지만이 방법은 효과가 없습니다. –

+0

흠 ... META-INF에서 가져야합니까? – Trick

+1

반드시 필요한 것은 아니지만 jar 파일에 config 패키지를 제공하도록 jar 파일로 패키지화해야합니다. –

13

짧은 또한 : 당신이 항아리에서 리소스에 액세스하려는 경우, 읽어야 내 프로젝트에 잘 작동 무엇

<import resource="classpath*:database/schema.xml"/> 
+1

애 스터 릭스! 그게 내가 놓친거야. –

4

앱-servlet.xml 파일에 다음 줄입니다 :

<!-- Database Configuration --> 
<import resource="classpath*:/database/DataSource.xml"/> 
<import resource="classpath*:/database/Hibernate.xml"/> 

Directories

가 당신을 도울 수 있다면 ...