2009-10-21 136 views
5

我有一堆spring配置文件,它們都位於META-INF目錄下的各種子包中。我一直在使用如下的導入...春季類路徑資源中的相對路徑

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

所以從源文件的相對路徑。當我使用jar文件之外的本地構建時,此工作正常。但是當我將所有東西打包到一個jar中時,我得到一個錯誤,它無法解析URL資源。如果我將上述更改爲絕對路徑(使用classpath :),那麼它工作正常。

有沒有什麼辦法可以在配置打包在jar中時使用「..」相對路徑,還是僅限於下降相對路徑和絕對路徑?

謝謝。

回答

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

它需要是但這不起作用。 – 2009-10-21 19:59:02

+0

嗯...你必須在META-INF中擁有它嗎? – Trick 2009-10-22 07:34:29

+1

不一定,但我需要它打包在jar中,以便jar的用戶可以用它來獲取配置。 – 2009-10-22 10:22:08

13

短另外:如果你想從一個罐子訪問的資源,它應該閱讀:

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

asterix!這就是我所錯過的。 – 2017-06-20 09:58:21

4

什麼在我的項目工作正常是在App-servlet.xml中以下行:

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

Directories

如果它可以幫助你...