2009-10-21 12 views
5

Ho un sacco di file di configurazione di primavera, che vivono tutti nella directory META-INF in vari pacchetti secondari. Ho utilizzato import come il seguente ...Percorsi relativi nella risorsa del classpath di primavera

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

Quindi un percorso relativo dal file di origine. Funziona bene quando sto lavorando con una build locale al di fuori di un file jar. Ma quando impacchetta tutto in un barattolo, viene visualizzato un errore che non è in grado di risolvere la risorsa URL. Se cambio il precedente in un percorso assoluto (con classpath :) allora funziona bene.

C'è un modo per utilizzare percorsi relativi con ".." quando le config sono confezionate in un barattolo o sono limitato solo a percorsi relativi discendenti e percorsi assoluti?

Grazie.

risposta

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

Dovrebbe essere ma questo non funziona. –

+0

Hm ... Devi averlo in META-INF? – Trick

+1

Non necessariamente, ma ho bisogno di un pacchetto nel barattolo in modo che gli utenti del barattolo prendano la configurazione con esso. –

13

Una breve aggiunta: Se si desidera accedere alle risorse da un vaso, si dovrebbe leggere:

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

L'asterisco! Questo è quello che mi mancava. –

4

Ciò che funziona bene sul mio progetto è il seguente righe nel app-servlet.xml :

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

Directories

Se può aiutare ...